转自:https://www.cnblogs.com/nonsec/p/12869682.html
修改my.cnf
[mysqld] 域中添加skip-grant-tables
重启mysqld服务
service mysqld restart
重新使用空密码登录,直接敲回车
mysql -u root -p
切换数据库,并将密码清空
mysql >use mysql;
mysql >update user set authentication_string = '' where user = 'root';
退出
mysql >quit;
删除my.cnf中的skip-grant-tables,并重启服务
service mysqld restart
重新登录root账号,密码直接回车
mysql -u root -p
修改root密码
mysql >ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
退出并重启mysql
mysql >quit;
service mysqld restart
重启完成之后就可以使用新密码登录