0

我已经更改了我的 mysql 用户权限,由于某些莫名其妙的原因,我无法再看到我的所有数据库,除了 mysql 安装 dbs。我不太明白为什么我看不到这些数据库,并且正在寻找关于我应该从哪里开始寻找权限可能被搞砸的地方的输入。这是我不太熟悉的 mysql 层。我知道数据库在那里,但出于某种奇怪的原因,我只是无法将它们视为 root。

mysql> SHOW GRANTS FOR 'root'@'localhost';
+------------------------------------------------------------------------+
| Grants for root@localhost                                              |
+------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION    | 
| GRANT ALL PRIVILEGES ON `db`.* TO 'root'@'localhost' WITH GRANT OPTION | 
+------------------------------------------------------------------------+
4

1 回答 1

0

首先备份你的mysql数据目录(在ubuntu中是/var/lib/mysql)。您可以在 mysql 配置文件 entry datadir 中找到目录位置。使用您最喜欢的打包程序备份该目录、egtar 或 zip。备份前,先停止mysql服务。备份后再次启动mysql服务。

然后尝试从 db 表中删除您的 root 用户主机条目 db.*

use mysql
select host,user,db from db;
delete from db where user="root" and db="db";

我不确定它是否是正确的解决方案并且还没有测试它,所以我希望我能用这个想法告诉你。但不要忘记先备份您的数据目录。

于 2012-10-18T19:51:10.720 回答