相关疑难解决方法(0)

授予**所有**数据库权限

我创建了数据库,例如'mydb'.

CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

现在我可以从任何地方登录到数据库,但无法创建表.

如何授予该数据库和(将来)表的所有权限.我无法在'mydb'数据库中创建表.我总是得到:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
Run Code Online (Sandbox Code Playgroud)

mysql mariadb mysql-error-1142

589
推荐指数
11
解决办法
165万
查看次数

MySQLWorkbench:获取"访问被拒绝.显示数据库权限所需"错误

所以我试图使用最新版本的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)

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

mysql

3
推荐指数
1
解决办法
1041
查看次数

标签 统计

mysql ×2

mariadb ×1

mysql-error-1142 ×1