我需要知道是否可以使用一些 SQL 语句将 USER 添加到 MYSQL 中的 ROLE ?
谢谢。
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
是的,
作为 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;