最近服务器快照回滚频率太高了,各种重装,各种密码初始化,结果一不小心把MySQL的管理员root密码给忘记了。使用OneinStack一键安装的MySQL,但是官方并没有直接修改root密码的脚本,不过从提问区中也看到了相应的方法,记录一下省得下次再忘记。
一、修改my.ini
my.ini文件位于/etc目录下,用vim打开并在[mysqld]下添加skip-grant-tables
二、重启mysql服务生效
执行重启服务的命令
systemctl restart mysqld
三、登录mysql并更新密码
执行mysql命令
#连接mysql,直接回车即可,不需要输入密码
mysql
#使用mysql库
use mysql
#更新root用户密码
update mysql.user set authentication_string=password('new_password') where user='root' ;
#刷新权限
flush privileges;
#退出mysql
exit 或者 quit
四、删除配置文件中的skip-grant-tables
反向操作第一步,删除my.ini中的skip-grant-tables
五、重启mysql服务生效
再次重启mysql服务,尝试用新密码登录数据库,OK。