Linux ·

MySQL 5.7忘记root密码

环境

CentOS6.6 X86_64

背景

忘记root怎么办,忘记初始化MySQL时生成的随机密码怎么办,或者压根就没注册那随机密码,别告诉我清除data下所有数据,重新初始化,当然你非要这么任性也可是可以的。
 不扯了,下面是正题。

参考

http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

操作

官方文档上有好几种方法,我看了下,你就记住下面我说的一种吧,其他的你自己试吧,好不好使我不管

使用--skip-grant-tables启动mysql server
bin/mysqld_safe --user=mysql01 --skip-grant-tables --skip-networking &

两个选项是意思是
--skip-grant-tables 跳过授权
--skip-networking  不允许远程网络连接

skip-networking可以不用,防止其他用户远程连接操作数据库,用不用看实际情况。就当多学一个选项吧。

客户端登录
bin/mysql -uroot -p
update mysql.user set authentication_string=password('root'), password_expired='N' where user='root';
flush privileges;

修改密码如果你还记得 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
最好不要用,有可能提示匿名用户不允许修改密码之类的。

说明

所有相关的目录,链接,参数等请根据实际情况自行调整。

参与评论