最近服务器快照回滚频率太高了,各种重装,各种密码初始化,结果一不小心把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。

最后修改:2020 年 12 月 16 日
如果觉得我的文章对你有用,请随意赞赏