CentOS 安装 MySQL5.7

记录一下在 CentOS7 中安装 MySQL5.7 版本遇到的一个小问题,顺便记录下安装过程

安装 MySQL5.7 的安装源

yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

安装 MySQL5.7

yum install mysql-community-server

启动并设置开机自启

systemctl start mysqld
systemctl enable mysqld

查看 root 密码

grep 'temporary password' /var/log/mysqld.log

image

可以看到我这边的密码为::/XaahH&%5Qe,是的,包含开始的冒号,我一开始以为冒号后边才是,试了几次发现不对,冒号也是!!!

注意这个密码只能够让你登录到 MySQL,登录进去之后必须马上修改密码,否则无法进行其他任何的操作。

修改 root 密码(本篇重点)

修改密码的命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

我希望给 root 设置一个简单的密码,比如 123456,但是发现并不可以

image

意思是说我的密码太过简单不符合他的密码策略,但是我想查询或者修改密码策略必须先设置密码才可以,无奈之下,先设置一个复杂的:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'OracleOAEC$2019';

image

密码设置好了,接下来看下密码策略:

SHOW VARIABLES LIKE 'validate_password%';

这里挑了几个说明下:

image

我想设置的密码是简单密码 123456,需要将 validate_password_policy 设置为 LOW,设置为 LOW 之后就只验证长度,同时还需要设置 validate_password_length 为 6:

set global validate_password_policy=LOW;
set global validate_password_length=6;

image

image

然后再尝试修改密码为 123456:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

image

可以发现,密码已经成功修改为 123456

允许 root 远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。