所以我试图使用最新版本的MySQLWorkbench(6.3.6)远程连接到MySQL 5.1.x服务器.
我在MySQL提示符下运行了这些命令:
use mysql;
grant all privileges on mydb.* to 'myuser'@'%' identified by 'mypassword';
flush privileges;
Run Code Online (Sandbox Code Playgroud)
我可以使用工作台连接到架构/数据库,但我无法获得表/其他架构对象的列表.
这是我得到的确切答案:
Error Code: 1227 Access denied; you need the SHOW DATABASES privilege for this operation
Run Code Online (Sandbox Code Playgroud)
这是我从节目赠款中得到的回应.我在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)
Run Code Online (Sandbox Code Playgroud)
关于如何修复它的任何想法?谢谢.
有了这条线
grant all privileges on mydb.* ...
Run Code Online (Sandbox Code Playgroud)
您将用户的权限授予mydb数据库中的每个表.SHOW DATABASES然而,这是一个全球特权,不受上述影响.
您可以在下面运行以允许SHOW DATABASES命令:
GRANT SHOW DATABASES ON *.* TO 'myuser'@'%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |