2016-12-05 16 views
-1

私は正しいこと(?)を実行しようとしており、MySQLをrootとして常に実行していません。私が行うとき、しかしMySQL:なぜALL PRIVILEGESのユーザがテーブルを作成できないのですか?

mysql> SHOW GRANTS FOR CURRENT_USER; 
+-------------------------------------------------------------------------+ 
| Grants for [email protected]           | 
+-------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'jonathan'@'localhost'       | 
| GRANT ALL PRIVILEGES ON `sampledb`.`sampledb` TO 'jonathan'@'localhost' | 
+-------------------------------------------------------------------------+ 
2 rows in set (0.00 sec) 

:だから私は、ユーザー次の権限がリストされているために 'localhostの' @ 'ジョナサン' を作成している

続く
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と表示されています。なぜこれは機能しませんか?私は 'ALL PRIVILEGES'を持ってはならないのですが、それにはCREATEが含まれていませんか?

+0

@Cyclone驚くべき重複_exactly_と同じテーブル固有の問題が見つかりました。 –

答えて

0

grantステートメントの後に特権をフラッシュしましたか?

1

GRANTの後にMySQLの特権をフラッシュしましたか?次のコマンドを実行しましたか?

FLUSH PRIVILEGES; 
+0

はい私はそれをしました – jonalv

+0

私は実際には、私が推測することが表示されない原因にならない場合、私は 'CURRENT_USER'のための表示贈与'を行うことができるとは思わない?また、私はすべてでログインできるという事実は、フラッシングが機能していることを示しています... – jonalv

関連する問題