+-
MySQLWorkbench:获取“访问被拒绝.显示数据库权限需要“错误
所以我试图使用最新版本的 MySQLWorkbench(6.3.6)远程连接到MySQL 5.1.x服务器.

我在MySQL提示符下运行了这些命令:

use mysql;
grant all privileges on mydb.*  to 'myuser'@'%' identified by 'mypassword';
flush privileges;

我可以使用工作台连接到架构/数据库,但我无法获得表/其他架构对象的列表.

这是我得到的确切答案:

Error Code: 1227 Access denied; you need the SHOW DATABASES privilege for this operation

这是我从节目赠款中得到的回应.我在localhost上以root用户身份运行它.我弄乱了可能识别我的数据库的任何信息.

mysql> show grants for 'mydb'@'%';
+-----------------------------------------------------------------------------------------------------+
| Grants for mydb@%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mydb'@'%' IDENTIFIED BY PASSWORD 'mypassword' |
| GRANT ALL PRIVILEGES ON `mydb`.* TO 'mydb'@'%'                                                      |
+-----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

关于如何修复它的任何想法?谢谢.

最佳答案
有了这条线

grant all privileges on mydb.* ...

您将为您的用户授予mydb数据库中每个表的权限.然而,SHOW DATABASES是一个全球特权,不受上述行的影响.

您可以在下面运行以允许SHOW DATABASES命令:

GRANT SHOW DATABASES ON *.* TO 'myuser'@'%'
点击查看更多相关文章

转载注明原文:MySQLWorkbench:获取“访问被拒绝.显示数据库权限需要“错误 - 乐贴网