密码是一个非常重要的东西,所以往往设置的很复杂,也往往一不小心.......就忘了 : (
很多童鞋在Linux下看到一堆命令行往往都是一脸懵逼,不知从何下手,这里记录了下基本的恢复操作以备不时之需!
- 第一步 先停止MySql服务
systemctl stop mysqld
- 设置Mysql的环境选项
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
- 然后重启动MySql服务 (此时加载的option就是第二步你指定的方式了,即跳过grant检测)
systemctl start mysqld
- 以root登录MySql
mysql -u root
- 接下来。。。毫无疑问,我们要开始重置密码了!
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
-> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit - 设置完毕后,要停止服务
systemctl stop mysqld
- 还原环境设置
systemctl unset-environment MYSQLD_OPTS
- 胜利在望!重启动服务
systemctl start mysqld
- 登录服务器
mysql -u root -p
- 设置密码,免得再一次悲剧
GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;