【MySQL运维】MySQL root密码忘记的解决办法
MySQL管理密码忘记后可以通过以下方式重置:
1、在/etc/my.cnf配置中增加以下内容
[mysqld] skip-grant-tables #跳过密码验证 skip-networking #禁止监听网络,避免暴露在公网上的数据库立即被入侵
2、重启MySQL服务后登录MySQL就可以不输入密码了,然后执行以下SQL清空当前密码
mysql > update mysql.user set authentication_string='' where user='root' and host='localhost'; mysql > flush privileges;
3、取消配置文件中的skip内容,然后再次重启MySQL服务即可
PS:在5.7之前的版本中,修改密码的SQL语法有一点不同
mysql > update mysql.user set password=password('NEWPASSWORD') where user='root'; mysql > flush privileges;
另外除了修改配置文件外,在启动MySQL服务时使用--skip-grant-tables选项也可以开启忽略授权认证的功能
mysqld_safe --skip-grant-tables --user=mysql & #多实例时要在skip前增加--defaults-file=/etc/xx.cnf指定配置文件 mysqladmin -u root -ppassword shutdown #关闭用mysqld_safe启动的服务
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论