千家信息网

【MySQL】mysql root密码忘记怎么办?

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,MySQL忘记密码了怎么解决笔者曾经有一次误删了mysqlroot用户,怎么办?之前的解决方式是通过忽略授权表的方式重启mysql然后插入相关数据解决该问题的,但是这种方式需要重启mysql,会影响现
千家信息网最后更新 2026年10月31日【MySQL】mysql root密码忘记怎么办?

MySQL忘记密码了怎么解决

笔者曾经有一次误删了mysqlroot用户,怎么办?

之前的解决方式是通过忽略授权表的方式重启mysql然后插入相关数据解决该问题的,但是这种方式需要重启mysql,会影响现有业务,那么有没有其他方式可以不重启MySQL就解决呢?

因为mysql的user表示MyISAM引擎的,因此我们可以通过修改对应的文件来解决这个问题。下面是本人在测试环境的一次演练,仅供参考。

一、查看现有用户
04:18:34 root@localhost [mysql]>select user,host from user;+---------------+-----------+| user          | host      |+---------------+-----------+| mysql.session | localhost || mysql.sys     | localhost || root          | localhost |+---------------+-----------+3 rows in set (0,00 sec)
二、删除本地root用户
04:18:59 root@localhost [mysql]>drop user root@'localhost';
三、再次查看用户
04:20:02 root@localhost [mysql]>select user,host from user;+---------------+-----------+| user          | host      |+---------------+-----------+| mysql.session | localhost || mysql.sys     | localhost |+---------------+-----------+

现在我们开始恢复用户数据

四、移动user表相关文件
[root@localhost mysql]# cp user.* /vagrant/mysql/3307/data/test/
五、登录另一个实例并查看user表
04:23:53 root@localhost [(none)]>use test;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changed04:23:56 root@localhost [test]>show tables;+----------------+| Tables_in_test |+----------------+| user           |+----------------+1 row in set (0,00 sec)04:23:58 root@localhost [test]>select * from user\G*************************** 1. row ***************************                  Host: localhost                  User: mysql.session           Select_priv: N           Insert_priv: N           Update_priv: N           Delete_priv: N           Create_priv: N             Drop_priv: N           Reload_priv: N         Shutdown_priv: N          Process_priv: N             File_priv: N            Grant_priv: N       References_priv: N            Index_priv: N            Alter_priv: N          Show_db_priv: N            Super_priv: Y Create_tmp_table_priv: N      Lock_tables_priv: N          Execute_priv: N       Repl_slave_priv: N      Repl_client_priv: N      Create_view_priv: N        Show_view_priv: N   Create_routine_priv: N    Alter_routine_priv: N      Create_user_priv: N            Event_priv: N          Trigger_priv: NCreate_tablespace_priv: N              ssl_type:            ssl_cipher:           x509_issuer:          x509_subject:         max_questions: 0           max_updates: 0       max_connections: 0  max_user_connections: 0                plugin: mysql_native_password authentication_string: *C7A1AAE2D250AFD864050FAF4935EF6F5D185A92      password_expired: N password_last_changed: 2018-02-23 13:19:12     password_lifetime: NULL        account_locked: Y*************************** 2. row ***************************                  Host: localhost                  User: mysql.sys           Select_priv: N           Insert_priv: N           Update_priv: N           Delete_priv: N           Create_priv: N             Drop_priv: N           Reload_priv: N         Shutdown_priv: N          Process_priv: N             File_priv: N            Grant_priv: N       References_priv: N            Index_priv: N            Alter_priv: N          Show_db_priv: N            Super_priv: N Create_tmp_table_priv: N      Lock_tables_priv: N          Execute_priv: N       Repl_slave_priv: N      Repl_client_priv: N      Create_view_priv: N        Show_view_priv: N   Create_routine_priv: N    Alter_routine_priv: N      Create_user_priv: N            Event_priv: N          Trigger_priv: NCreate_tablespace_priv: N              ssl_type:            ssl_cipher:           x509_issuer:          x509_subject:         max_questions: 0           max_updates: 0       max_connections: 0  max_user_connections: 0                plugin: mysql_native_password authentication_string: *C7A1AAE2D250AFD864050FAF4935EF6F5D185A92      password_expired: N password_last_changed: 2018-02-23 13:19:26     password_lifetime: NULL        account_locked: Y2 rows in set (0,00 sec)
六、把本实例的root用户插入刚刚移动过来的user表
04:25:03 root@localhost [test]>insert into user select * from mysql.user where user = 'root' and host ='localhost';Query OK, 1 row affected (0,02 sec)Records: 1  Duplicates: 0  Warnings: 0
七、再次移动user文件到原先的位置
[root@localhost test]# cp user.* /vagrant/mysql/3306/data/mysql
八、重新加载配置到内存
[root@localhost test]# kill -HUP `pidof mysqld`

通过该步mysql并不会重启,对应用不会有影响

九、重新登录,OK
[root@localhost test]# mysql -uroot -p -S /tmp/mysql3306.sockEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 13Server version: 5.7.21-log MySQL Community Server (GPL)Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.04:30:57 root@localhost [(none)]>
用户 方式 文件 移动 再次 实例 数据 问题 影响 登录 密码 怎么办 仅供参考 业务 位置 内存 可以通过 引擎 环境 笔者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 高科技互联网 中国互联网科技股 互联网科技社 深圳互联网科技公司 北京互联网科技公司 有马互联网科技 贷财互联网科技 狮子座互联网科技有限公司 重庆科技学院互联网 居家互联网科技有限公司 互联网教育科技公司vipkid 剑昆互联网络科技有限公司临桂 团飞科技与伯堂互联网服务平台 佛山市翊博互联网络科技有限公司 西安小鹰速贷互联网科技有限公司 互联网科技的全部知识 威龙国际互联网科技公司 保险科技服务互联网营销体系 云鲸互联网络科技有限公司 绵阳真晨互联网科技有限公司 上海挚品互联网科技有限公司 南京欣网互联网络科技有限公司 广州大一互联网络科技有限公司 中国互联网科技发展 上海万想互联网科技 中盈科技互联网信息有限公司 银川新华互联网科技学校联系电话 燊美集互联网科技有限公司 四川慕妮娅互联网科技有限公司 江苏互联网智能科技产品出厂价
0