MySQL的密码经常忘记,最主要还是root用户的,官网也提供了几种方式找回密码,我就使用了一种比较通用的,就是直接跳过授权表,首先执行以下命令:
mysqld --skip-grant-tables --user=mysql &当然官方是不推荐使用这种方式的,因为这个不太安全,如果是自己玩的话采用这种方式无所谓,以上这个命令和你的用户是有关系的,我这里是采用yum安装,数据保存路径这些配置都是默认配置好的,都是挂在mysql这个用户下的,如果你的不是这个需要修改,当然,如果你当前登陆Linux的用户就是MySQL的拥有者就可以不指定--user参数。
服务启动完成之后,直接输入mysql登陆,不需要密码。登陆成功之后需要重新启用授权表,否则账号管理无法使用,也就是你要改密码的sql或者命令不能使用。所以执行以下命令启用授权:
FLUSH PRIVILEGES;
然后就可以执行以下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpwdtouse';
然后重启mysql服务,ok。
如果以上语句不能修改就使用以下语句:
UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;