【发布时间】:2017-04-20 02:43:11
【问题描述】:
我正在尝试做正确的事情 (?),而不是一直以 root 身份运行 MySQL。因此,我创建了一个用户 'jonathan'@'localhost',其中列出了以下权限:
mysql> SHOW GRANTS FOR CURRENT_USER;
+-------------------------------------------------------------------------+
| Grants for jonathan@localhost |
+-------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jonathan'@'localhost' |
| GRANT ALL PRIVILEGES ON `sampledb`.`sampledb` TO 'jonathan'@'localhost' |
+-------------------------------------------------------------------------+
2 rows in set (0.00 sec)
但是,当我这样做时:
mysql> use sampledb;
Database changed
接着是:
mysql> CREATE TABLE Person (
-> id int NOT NULL AUTO_INCREMENT,
-> name VARCHAR(100),
-> address VARCHAR(200),
-> birthdate DATE,
-> PRIMARY KEY (id)
-> );
ERROR 1142 (42000): CREATE command denied to user 'jonathan'@'localhost' for table 'person'
上面显示CREATE command denied。为什么这不起作用?我不应该拥有“所有特权”并且不包括CREATE吗?
【问题讨论】:
-
@Cyclone 惊人的重复发现 exactly 相同的特定表问题。
标签: mysql