MySQL 恢复删除的 ‘root’ 用户和密码
在 MySQL 中,root 用户是具有最高权限的管理员账户,可以进行数据库的维护和管理。但有时候会因为一些误操作或者其他原因,意外删除了 root 用户,导致无法登录 MySQL 数据库。
那么,如果发生这种情况,该怎样恢复删除的 root 用户和密码呢?下面是一些解决方案。
阅读更多:MySQL 教程
方案一:使用 mysqld_safe 启动 MySQL
使用 mysqld_safe 命令可以以安全模式启动 MySQL,在这种模式下,会跳过授权表的检查和控制,并且所有用户都可以以 root 用户身份进入 MySQL。接下来,我们可以在命令行下添加一个新的 root 用户。
Step 1:关闭 MySQL 服务
Step 2:使用 mysqld_safe 启动 MySQL
这里的 &
表示将该命令放到后台运行。
Step 3:进入 MySQL 命令行
此时你会发现不需要输入密码就可以直接进入 MySQL 命令行了。
Step 4:添加 root 用户
这里将 new_password
替换成你想要设置的密码即可。
Step 5:重启 MySQL 服务
然后就可以使用新的 root 用户和密码登录 MySQL 了。
方案二:使用 init-file 选项
另一种方法是以特殊模式启动 MySQL,并指定一个初始化文件,该文件包含添加一个新的 root 用户的 SQL 语句。一旦添加成功,就可以使用该用户登录 MySQL 了。
Step 1:创建初始化文件
然后在文件中添加以下内容:
这里将 root
用户的密码设置为空,相当于没有密码。
Step 2:停止 MySQL 服务
与方案一相同
Step 3:以特殊模式启动 MySQL
Step 4:等待 MySQL 启动
接下来,MySQL 会自动运行初始化文件并添加新的 root 用户,这需要一定时间,请耐心等待。
Step 5:重启 MySQL 服务
与方案一相同
方案三:使用备份文件恢复 root 用户和密码
如果之前备份了 MySQL 数据库,那么也可以通过恢复备份文件来恢复 root 用户和密码。具体操作步骤如下:
Step 1:先备份当前数据
在操作前,先备份当前 MySQL 数据库,以便操作不当时能够恢复。
Step 2:停止 MySQL 服务
与方案一相同
Step 3:找到最近的备份文件
可以通过使用 ls
命令来列出备份目录下的所有备份文件。
Step 4:恢复备份文件
如果备份文件以 sql
格式存储,可以使用以下命令来恢复备份:
如果备份文件以 gz
或 tar.gz
格式存储,可以使用以下命令解压和恢复备份:
或者
请根据自己的备份文件格式进行选择。
Step 5:重启 MySQL 服务
与方案一相同
总结
无论是通过 mysqld_safe、init-file 选项还是备份文件来恢复 root 用户和密码,都需要先停止 MySQL 服务,然后进行相应的操作,最后再重启 MySQL 服务。在操作前,也要先备份当前数据,以防操作出错。