我已经对我的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 |
+------------------------------------------------------------------------+
答案 0 :(得分:0)
首先备份你的mysql datadir(在ubuntu中它是/ var / lib / mysql)。您可以在mysql配置文件中找到目录位置,条目datadir。使用您最喜欢的打包程序备份该目录,例如star或zip。 在备份之前,停止mysql服务。备份后再次启动mysql服务。
然后尝试从db表中删除root用户主机条目db。*
use mysql
select host,user,db from db;
delete from db where user="root" and db="db";
我不确定它是否是正确的解决方案而且还没有测试它,所以我希望我能用这个想法。但是不要忘记先备份你的datadir。