Добавление пользователя к роли в MySQL с помощью оператора SQL - PullRequest
1 голос
/ 11 ноября 2010

Мне нужно знать, возможно ли добавить USER в ROLE в MYSQL , используя какой-то оператор SQL ?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 11 ноября 2010

MySQL не имеет ролей как таковых. Вы можете создать нового пользователя с базовыми полномочиями SELECT, например так:

CREATE USER 'user'@'host' IDENTIFIED BY 'password';

GRANT SELECT ON database.* TO 'user'@'host';

FLUSH PRIVILEGES;

Документы MySQL GRANT: http://dev.mysql.com/doc/refman/5.1/en/grant.html

2 голосов
/ 11 ноября 2010

ДА ,

В качестве альтернативы GRANT вы можете создавать те же учетные записи напрямую выдавая операторы INSERT, а затем говорит серверу перезагрузить грант таблицы:

shell> mysql --user=root mysql
mysql> INSERT INTO user
    ->     VALUES('localhost','monty',PASSWORD('some_pass'),
    ->     'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user
    ->     VALUES('%','monty',PASSWORD('some_pass'),
    ->     'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user SET Host='localhost',User='admin',
    ->     Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
    ->     VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;
...