MySQL:Grant 语法详解(MySQL 5.X)

转自:http://rubyqiu.php.blog.163.com/blog/static/8614152320081010102817985/
本文例子适用于:MySQL 5.0.2 及以上版本。

MySQL创建用户

CREATE USER user_name IDENTIFIED BY 'password'
在 MySQL 数据库中新建用户 “dba”,密码为:“sqlstudy”

create user dba identified by 'sqlstudy'
此时,创建的 MySQL 用户的全名是:dba@'%'

见到这样的MySQL 用户名是不是觉得有点困惑?原来 MySQL 的用户名包含两个部分: 1. 帐户名(account name);2. 主机名(hostname)。 hostname 用来限制该MySQL 帐户(account)从何处来访问 MySQL 服务器。

dba@'%'             :可以在网络中的任意地方,使用帐户名 dba 来访问 MySQL 服务。
dba@'localhost'     :只能在本机(MySQL 服务所在的机器上),使用帐户名 dba 来连接 MySQL。
dba@'192.168.0.200' :只能从网络中的 192.168.0.200 机器上,使用帐户名 dba 来连接 MySQL。
dba@'192.168.0.%'   :可以从网络中的 192.168.0. 任意一台机器上,使用帐户名 dba 来连接 MySQL。
为了使 MySQL 更安全,我们在创建用户的时候,应该根据实际访问限制,来选择合适的用户名。同时要谨慎使用 dba@'%',另外在创建用户的时候,最好显式指定 hostname。

create user dba@'localhost' identified by 'sqlstudylocal'
create user dba@'%'         identified by 'sqlstudyany'
MySQL删除用户

drop user dba@'localhost'
删除 MySQL 数据库用户,也最好显式指定 hostname

drop user dba
等价于:

drop user dba@'%'
值得一提的是,你可以在 MySQL 中的系统数据库“mysql”中的 user 表中,找到我们刚才创建的用户。

use mysql;

猜你喜欢

转载自regjtc.iteye.com/blog/1828842