【发布时间】:2011-06-28 08:09:43
【问题描述】:
我已经创建了数据库,例如“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;
现在我可以从任何地方登录数据库,但不能创建表。
如何授予对该数据库和(将来)表的所有权限。我无法在“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'
【问题讨论】:
-
当您显示对 CURRENT_USER 的授权时会得到什么;
-
只有在直接使用
INSERT、UPDATE或DELETE等语句修改授权表时,才应使用FLUSH PRIVILEGES;
标签: mysql mariadb mysql-error-1142