Я вошел в 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