前言

MySQL5.7为了加强安全性,yum 安装后为root用户随机生成了一个密码,同时修改root密码上,也增加了一些校验,会报 Your password does not satisfy the current policy requirements 错误。

安装

rpm -ivh http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
yum -y install --nogpgcheck mysql-server

yum 安装后随机生成了一个root密码,记录在error log中,则默认是/var/log/mysqld.log。

grep "A temporary password" /var/log/mysqld.log

客户端快捷登陆

平时为方便脚本编写,会把密码直接加在 -p 参数后,但5.7 的安全特性不允许这样书写,可通过把密码写在 my.cnf 文件中

[client]
user=root
password='waQ,qR%be2(5'

root 密码修改

平时测试时,不需要如此复杂的密码,可通过如下命令关闭密码校验。

set global validate_password_policy=0;
ALTER USER USER() IDENTIFIED BY '12345678';
SHOW VARIABLES LIKE 'validate_password%';

远程授权的修改

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