2010-11-11 58 views

回答

2

YES

作为替代格兰特,你可以 直接 创建相同的帐户发出的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; 
5

MySQL本身没有角色。您可以创建基本的SELECT权限这样一个新的用户:

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

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

FLUSH PRIVILEGES; 

MySQL授权文档: http://dev.mysql.com/doc/refman/5.1/en/grant.html