写点什么

软件测试 | 忘记 MySQL 的 root 密码

  • 2023-08-06
    北京
  • 本文字数:1007 字

    阅读完需:约 3 分钟

更多学习资料戳!!!

经常会有朋友或者同事问起,MySQL 的 root 密码忘了,不知道该怎么办,其实解决方法很简单,前面也有提起,下面是详细的操作步骤。

(1)登录到数据库所在服务器,手工 kill 掉 MySQL 进程:

kill `cat /mysql-data-directory/hostname.pid`
复制代码

其中,/mysql-data-directory/hostname.pid 指的是 MySQL 数据目录下的.pid 文件,它记录了 MySQL 服务的进程号。(2)使用--skip-grant-tables 选项重启 MySQL 服务:

[root@localhost mysql]# ./bin/mysqld_safe --skip-grant-tables --user=zzx & [1] 20881 [root@localhost mysql]# Starting mysqld daemon with databases from /home/zzx/mysql/data
复制代码

其中--skip-grant-tables 选项前面曾经介绍过,意思是启动 MySQL 服务的时候跳过权限表认证。启动后,连接到 MySQL 的 root 将不需要口令。(3)用空密码的 root 用户连接到 MySQL,并且更改 root 口令:

[root@localhost mysql]# mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 53 Server version: 5.0.41-community-log MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> set password = password('123'); ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statementmysql> update user set password=password('123') where user='root' and host='localhost'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
复制代码

此时,由于使用了--skip-grant-tables 选项启动,使用“set password”命令更改密码失败,直接更新 user 表的 password 字段后更改密码成功。

(4)舒心权限表,使得权限认证重新生效:

mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
复制代码

(5)重新用 root 登录时,必须输入新口令:

[root@localhost mysql]# mysql -uroot ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) [root@localhost mysql]# mysql -uroot -p123 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 5.1.11-beta-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
复制代码

注意:在 MySQL 中,密码丢失后无法找回,只能通过上述方式修改密码。

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 忘记MySQL的root密码_测试_测吧(北京)科技有限公司_InfoQ写作社区