Mysql修改密码
本文用于Mysql5、Mysql 8 的密码更改记录。
- 修改配置文件,关闭Mysql登录权限
# 关闭mysql服务 service mysqld stop # 修改配置文件,临时取消登录限制 vi /etc/my.cnf # 在mysqld标签下添加 skip-grant-tables # 退出并保存 esc :wq
- 修改密码
在网上一致都是使用password函数进行修改,该函数在mysql8 `skip-grant-tables` 状态下已经无法使用password函数。# 不需要输入密码-p mysql -u root # mysql 5版本 update mysql.user set authentication_string=password('新密码') where user='root'; # 刷新权限 flush privileges; # 退出mysql exit; # 配置文件还原,注释或还原my.conf # 重启mysql服务 service mysqld restart
# MySQL 8 先将root的密码置空 update mysql.user set authentication_string='' where user='root'; # 刷新权限 flush privileges; # 配置文件还原,注释或还原my.conf # 重启mysql服务 service mysqld restart # 登录mysql,回车 mysql -u root -p # 切换mysql库 use mysql # 修改用户密码 alter user 'root'@'%' identified by '新密码'; # 查看mysql密码的强度限制 show variables like 'validate%'; # 刷新权限 flush privileges; # 退出mysql exit; # 可以使用新密码进行登录
- 如果到这步还不能登录成功,可能是防火墙问题等等
ps:切记,不要随意关闭mysql docker容器,除非你已经做好备份。# 关闭防火墙,再进行尝试 service firewalld stop