CentOS7离线安装mysql5.7

环境准备

CentOS7 + MySQL5.7

下载离线安装包

MySQL5.7 Linux安装包官网下载地址

注意选择版本

下载

解压安装包

进入/home目录,使用mkdir mysql命令新建一个名为mysql的目录,将下载的包复制到mysql目录下,打开终端解压之

1
tar -xf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

查询并卸载系统自带的Mariadb

1
2
rpm -qa | grep mariadb
rpm -e --nodeps 文件名

查询并卸载老旧版本MySQL

1
2
rpm -qa | grep mysql
rpm -e --nodeps 文件名

安装

使用rpm安装

1
2
3
4
5
6
7
8
9
10
11
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm

启用MySQL服务

查看MySQL服务是否启动 service mysqld status

启动服务 systemctl start mysqld

重置root密码

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

查看密码

1
2
3
4
mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> SET PASSWORD FOR 'root'@'localhost'= "yourpwd";
mysql> exit

MySQL的密码策略比较复杂,要大小写,过于简单的密码会被拒绝

上述方法无法修改的备用方案

关闭服务,修改mysql配置文件:

1
2
systemctl stop mysqld.service
vi /etc/my.cnf

mysqld下面添加skip-grant-tables保存退出启动服务(如图)

添加语句

1
systemctl start mysqld.service

修改root密码

1
2
3
4
5
6
mysql -u root  # 刚才添加了skip,这种情况下不需要密码直接回车
use mysql # 指定库

update user set authentication_string=password('yourpwd') where user='root' and host='localhost';
flush privileges; # 清空权限表缓存
exit;

vi /etc/my.cnf ,把 skip-grant-tables 这句删除保存退出重启mysql服务,恢复密码登录

1
systemctl restart mysqld.service

自定义密码登录

1
2
mysql -u root –p
yourpwd

开放外部网段访问3306端口

1
2
3
4
5
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

mysql>exit;