第一步:下载
进入到mysql官网 https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载自己需要的tar包
这里我下载的是mysql-5.7.34-linux-glibc2.12-x86_64.tar版本
百度云链接:https://pan.baidu.com/s/1rztcr8liF003hcP2cA5S-Q
提取码:756w
也可以使用wget命令下载:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
第二步:配置环境
安装前,我们先检查环境是否自带安装mysql:
rpm -qa | grep mysql
如有类似:
mysql-libs-5.1.52-1.el6_0.1.x86_64
卸载之:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查是否存在 mariadb 数据库:
rpm -qa | grep mariadb
如有类似:
mariadb-libs-5.5.56-2.el7.x86_64
卸载之:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
用WinSCP工具或wget命令将mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz上传到linux服务器的/opt/mysql目录下面
第三步:安装
进入到安装包目录,解压
tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
将解压后的文件夹重命名
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql-5.7.34
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# ls
mysql-5.7.34 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
添加系统mysql组和mysql用户
检查mysql组和用户是否存在,如无创建
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# cat /etc/group | grep mysql
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# cat /etc/passwd | grep mysql
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# groupadd mysql
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# useradd -r -g mysql mysql
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# cat /etc/group | grep mysql
mysql:x:1000:
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# cat /etc/passwd | grep mysql
mysql:x:989:1000::/home/mysql:/bin/bash
[root@iZuf6blcb2evkphv9qvo6fZ mysql]#
安装数据库
创建data目录
[root@iZuf6blcb2evkphv9qvo6fZ mysql]# cd mysql-5.7.34/
[root@iZuf6blcb2evkphv9qvo6fZ mysql-5.7.34]# mkdir data
将文件/opt/mysql/mysql-5.7.34的所有者及所有组改为mysql
chown -R mysql.mysql /opt/mysql/mysql-5.7.34
在/opt/mysql/mysql-5.7.34/support-files目录下创建my_default.cnf
[root@iZuf6blcb2evkphv9qvo6fZ support-files]# vi my_default.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /opt/mysql/mysql-5.7.34
datadir = /opt/mysql/mysql-5.7.34/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /opt/mysql/mysql-5.7.34/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.34/data/mysqld.pid
拷贝,如果提示是否覆盖,y
cp /opt/mysql/mysql-5.7.34/support-files/my_default.cnf /etc/my.cnf
初始化mysqld
cd /opt/mysql/mysql-5.7.34/
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.34/ --datadir=/opt/mysql/mysql-5.7.34/data/
初始化完成之后,查看日志 mysqld.log
cat /opt/mysql/mysql-5.7.34/data/mysqld.log
临时密码
2021-07-13T08:48:36.377598Z 1 [Note] A temporary password is generated for root@localhost: jugk0ta3i-qC
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
启动mysql服务
[root@iZuf6blcb2evkphv9qvo6fZ mysql-5.7.34]# service mysql start
Starting MySQL. [ OK ]
登录mysql,密码为初始密码
cd /opt/mysql/mysql-5.7.34/
./bin/mysql -u root -p
修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
第四步:数据库设置远程访问权限
注意设置完成后需要执行
mysql> flush privileges;
1,设置访问单个数据库权限
mysql>grant all privileges on test.* to 'root'@'%';
说明:设置用户名为root,密码为空,可访问数据库test
2,设置访问全部数据库权限
mysql>grant all privileges on *.* to 'root'@'%';
说明:设置用户名为root,密码为空,可访问所有数据库*
3,设置指定用户名访问权限
mysql>grant all privileges on *.* to 'tempuser'@'%';
说明:设置指定用户名为tempuser,密码为空,可访问所有数据库*
4,设置密码访问权限
mysql>grant all privileges on *.* to 'zhangsan'@'%' IDENTIFIED BY '8888';
说明:设置指定用户名为zhangsan,密码为888,可访问所有数据库*
重启mysql生效
service mysql stop
service mysql start
service mysql restart
至此,linux环境下的mysql-5.7.34服务就搭建完成啦~