linux下mysql的root密码忘记解决方
1.修改MySQL的登录设置
# vim /etc/my.cnf
在[mysqld]的段中加上一句:
skip-grant-tables
例如:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables
2.重启mysql
systemctl restart mysqld
3.现在可以没密码登陆mysql
mysql -uroot //直接登陆
4.更新密码
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,变成了authentication_string
mysql> update mysql.user set authentication_string=password('XXXXXXXX') where user='root';
mysql> flush privileges; mysql> quit;
5.再次修改mysql的登陆设置
将第一步中加上去skip-grant-tables的删掉
6.重启musql即可
systemctl restart mysqld