修改MySQL的登录设置
$ vim /etc/my.cnf
#在[mysqld]后面加上 skip-grant-tables
[mysqld]
skip-grant-tables
重新启动,发现报错
$ service mysqld restart
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
检查后发现是Mysql配置validate_password的原因
分析原因:在skip-grant-tables约束下,密码策略已经无效,所以无法识别validate_password 字段,两者不能同时存在,可以在修改完密码后,删除skip-grant-tables,根据需要加上validate_password=off
$ mysql -uroot
mysql> use mysql
mysql> flush privileges;
mysql> set password for 'root'@'localhost' = password('123456');
mysql> flush privileges;
注: 修改成功要回到配置文件删除skip-grant-tables, 并重启Mysql
$ vim /etc/my.cnf
$ service mysqld restart