密码是一个非常重要的东西, 所以往往设置的很复杂, 也往往一不小心....... 就忘了 : (
很多童鞋在 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;
来源: http://www.bubuko.com/infodetail-2795804.html