- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mysql中创建用户帐户的方法
HYPERLINK /digest/2008/01/mysql_create_user.html 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)只用于从本机连接时。另一个账户(monty@%)可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。???有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比monty@%账户更具体,这样在user表排序顺序中排在前面。(user表排序的讨论要参考mysql手册)。
·???????? 一个账户有用户名admin,没有密码。该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。
·???????? 一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为N。假定你将在以后将具体权限授予该账户。
3.直接操作MySQL授权表
??? 除了GRANT,你可以直接用INSERT语句创建相同的账户,然后使用FLUSH PRIVILEGES告诉服务器重载授权表。
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
文档评论(0)