2

データベースとユーザーをセットアップし、通常どおりアクセス許可を付与しますが、アクセスが拒否され、理由がわかりません:

[root@server23 redditonrails]# mysql -u redditonrails -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 431954
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use redditonrails_development;
Database changed
mysql> create table test;
ERROR 1142 (42000): CREATE command denied to user 'redditonrails'@'localhost' for table 'test'
mysql> show grants;
+------------------------------------------------------------------------------------------------+
| Grants for redditonrails@localhost                                                             |
+------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'redditonrails'@'localhost' IDENTIFIED BY PASSWORD '*******'    |
| GRANT ALL PRIVILEGES ON `redditonrails_test`.`localhost` TO 'redditonrails'@'localhost'        |
| GRANT ALL PRIVILEGES ON `redditonrails_development`.`localhost` TO 'redditonrails'@'localhost' |
| GRANT ALL PRIVILEGES ON `redditonrails`.`localhost` TO 'redditonrails'@'localhost'             |
+------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql> SELECT USER(),CURRENT_USER();
+-------------------------+-------------------------+
| USER()                  | CURRENT_USER()          |
+-------------------------+-------------------------+
| redditonrails@localhost | redditonrails@localhost |
+-------------------------+-------------------------+
1 row in set (0.00 sec)
4

2 に答える 2

2

あなたの構文が正しいとは思いません。あなたが指定しています:

にすべての権限を付与し redditonrails_developmentます。localhost

データベース レベルの GRANT に期待される構文は次のとおり ON $db.$tableです。これに基づいて、「localhost」という名前のテーブルにのみ付与しています。への変更:

GRANT ALL PRIVILEGES ON redditonrails_development.*

于 2011-05-18T16:39:11.967 に答える
1

ユーザーredditonrailsにはすべての特権があるようです redditonrails_developmentlocalhost

redditonrails_developmentこれはデータベースとlocalhostテーブルを意味します。あなたが欲しいのはそこにいることです

redditonrails_development*

魔女はあなたがすべてのテーブルにすべての特権を持っていることを意味します(あなたが作成しようとしている新しいものでさえ)

または少なくともそれは私がそれを見る方法です。

于 2011-05-18T16:41:16.290 に答える