Назад | Перейти на главную страницу

Предоставление привилегий пользователю mysql, который не работает

Я вошел в mysql как root. Я могу добавить такого пользователя:

CREATE USER test01@localhost IDENTIFIED BY 'test01';

Когда я пытаюсь предоставить привилегии test01 пользователь, похоже, ничего не происходит:

GRANT SELECT,INSERT,UPDATE,DELETE ON test_database.* TO 'test01'@'localhost';

Все из *_priv столбцы установлены на N для test01 пользователь.

Есть идеи, что я здесь делаю неправильно? Спасибо!

Вот результаты SHOW GRANTS...

mysql> SHOW GRANTS FOR 'test01'@'localhost';
+--------------------------------------------------------------------------------------+
| Grants for test01@localhost                                                          |
+--------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test01'@'localhost' IDENTIFIED BY PASSWORD 'removed_hash' |
+--------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Все столбцы * _priv установлены на N для пользователя test01.

Вы проверяли это из mysql.user table, примерно так:

mysql> select * from mysql.user where user='test01' and host='localhost'\G

Если да, то вы проверяете не в том месте. Все привилегии в этой таблице Глобальный привилегии, он назначается с помощью на *. *.

Пока вы даете в база данных уровень on test_database.*, вы должны зарегистрироваться mysql.db стол:

select * from mysql.db where user='test01' and host='localhost' and db='test_database'\G

Читать далее: http://dev.mysql.com/doc/refman/5.0/en/grant.html