【MySql】Mysql如何修改密码

62 阅读1分钟

Mysql修改密码

本文用于Mysql5、Mysql 8 的密码更改记录。

  1. 修改配置文件,关闭Mysql登录权限
    # 关闭mysql服务
    service mysqld stop
    # 修改配置文件,临时取消登录限制
    vi /etc/my.cnf
    # 在mysqld标签下添加
    skip-grant-tables
    # 退出并保存
    esc :wq
    
  2. 修改密码
    # 不需要输入密码-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
    
    
    在网上一致都是使用password函数进行修改,该函数在mysql8 `skip-grant-tables` 状态下已经无法使用password函数。
    # 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;
    # 可以使用新密码进行登录
    
  3. 如果到这步还不能登录成功,可能是防火墙问题等等
    # 关闭防火墙,再进行尝试
    service firewalld stop
    
    
    ps:切记,不要随意关闭mysql docker容器,除非你已经做好备份。