我试图移动 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 帐户后,您可以从备份中恢复数据库。
-$