我的 MySQL root 用户没了,如何恢复?

我的 MySQL root 用户没了,如何恢复?

我试图移动 MySQL 表以便将它们放在另一个文件夹中,所以我弄乱了插件表或类似的东西,最后我重新安装了整个东西。

然后我sudo aptitude purge mysql-server删除了 MySQL 数据rm -rf /var/lib/mysql/mysql,并且还从我尝试移动表的其他目录中删除了数据。

重新安装后,我以为我可以使用登录,mysql -u root但它说用户错误。我尝试使用旧密码,结果还是一样。然后我搜索了一种方法,以重置 root 密码。

所以我照做了mysqld_safe --skip-grant-tables,然后我成功登录mysql -u root,然后我尝试,UPDATE user SET Password=PASSWORD('new-password') where User='root';但没有成功,0 rows affected。然后我SELECT * FROM User又试了,结果只是debian-sys-maint,没有其他,没有 root 或任何其他用户。

任何一点帮助都将不胜感激=/

答案1

只需创建您需要的用户。root@localhost默认情况下可能没有。

您可以随时通过mysql --defaults-file=/etc/mysql/debian.cnf

使用以下命令创建新的 root 用户: GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'YOUR NEW PASSWORD' WITH GRANT OPTION

答案2

由于您仅删除了 /var/lib/mysql/mysql ,因此重新安装不会创建默认数据库,因为数据目录 (/var/lib/mysql) 仍然存在。重命名数据目录并再次尝试重新安装。设置好 root 帐户后,您可以从备份中恢复数据库。

-$

相关内容