您的位置:首页 > 数据库 > MySQL

mysql5.7忘记root密码的修改方法

2017-04-17 17:11 686 查看
1. 停止mysql服务
/etc/init.d/mysqld stop

(本文永久地址:http://woymk.blog.51cto.com/10000269/1916742
重新启动服务
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking&
注:--skip-networking参数可以阻止远程客户端连接,增加安全性

或者
vi /etc/my.cnf
在[mysqld]中增中以下两行
[mysqld]
skip-grant-tables
skip-networking
保存后重新启动服务
/etc/init.d/mysqld start
这个修改完密码后一定要记得改回去

2. 修改密码
/usr/local/mysql/bin/mysql -uroot
mysql> FLUSH PRIVILEGES;

MySQL 5.7.6 及以后版本执行这个:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5 及之前的版本执行这个:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

然后退出mysql
mysql> quit

注意,如果 ALTER USER 执行失败,试着执行下面的命令:
UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

3. 重启服务
/etc/init.d/mysqld restart
/usr/local/mysql/bin/mysql -uroot -p
这时已经可以使用刚刚更改的新密码登陆。
以上操作方法参考自mysql官方手册:
https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息