Mysql密码重置

Posted on 2023-08-26 07:03  故人某  阅读(61)  评论(1编辑  收藏  举报

当我们忘记MySQL密码时可以进行如下操作重置密码:MySQL版本:8.x

1. 使用命令找到MySQL安装位置

  whereis mysql

2.找到对应的.cnf文件,例如:vim /etc/my.cnf.d/mysql-server.cnf,加入这句’skip-grant-tables‘

[mysqld]
skip-grant-tables # 跳过验证
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid

3. 重启MySQL服务

  service mysqld restart

4. 无密码登录

  mysql -uroot =p(空密码)或mysql

5. 修改密码(mysql8.0之后的版本中,password函数已被取消,加密方式不再使用mysql_native_password,换成了caching_sha2_password
原本的sql语句为)

  use mysql;

  UPDATE user SET authentication_string=SHA1("密码") WHERE user="root"; # 这里可以不用SHA1加密直接设置""空,重新修改即可

  flush privileges;

  exit;

6.恢复MySQL配置文件,vim /etc/my.cnf.d/mysql-server.cnf,删掉’skip-grant-tables‘

7. 重启MySQL服务

  service mysqld restart

Copyright © 2024 故人某
Powered by .NET 8.0 on Kubernetes