日期:2014-05-16  浏览次数:20658 次

Mysql中创建用户帐户的方法

1.CREATE USER

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
??? [, user [IDENTIFIED BY [PASSWORD] 'password']] ...

CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一个新记录。如果 账户已经存在,则出现错误。

使用自选的IDENTIFIED BY子句,可以为账户给定一个密码。user值和 密码的给定方法和GRANT语句一样。特别是,要在纯文本中指定密码,需忽略PASSWORD关键词。要把 密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD

2.使用GRANT语句

最好的方法是使用GRANT语句,因为这样更精确,错误少。从MySQL 3.22.11起提供了GRANT;它的主要用途是来给帐户授权的,但也可用来建立新帐户并同时授权。注意:当mysql运行于no_auto_create_user时要提供新建用户的密码,否则不能创新用户。
下面的示例说明如何使用MySQL客户端程序来设置新用户。
首先,使用MySQL程序以MySQL?root用户来连接服务器:

shell>?MySQL?--user=root?MySQL

如果你为root账户指定了密码,还需要为该MySQL命令和本节中的其它命令提供--password-p选项。

root连接到服务器上后,可以添加新账户。下面的语句使用GRANT来设置四个新账户:

mysql>?GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

??? ->?????IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql>?GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'

??? ->?????IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql>?GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql>?GRANT USAGE ON *.* TO 'dummy'@'localhost';

GRANT语句创建的账户有下面的属性:

·?????????其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户?('monty'@'localhost')