前言:mysql建立用户的方法分红三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。html
1、帐号名称的构成方式mysql
帐号的组成方式:用户名+主机(因此能够出现重复的用户名,跟其余的数据库不同)linux
用户名:16字符之内.sql
主机名:能够用主机名和IP地址,也能够用通配符数据库
通配符说明:172.18.10.%(IP地址为172.18.10段的全部IP地址均可以访问)服务器
2、经过CREATE USER命令进行建立用户分布式
脚本:CREATE USER 'username'@'host' [IDENTIFIED BY 'PASSWORD'] 其中密码是可选项;ide
例子:CREATE USER 'john'@'192.168.189.71' IDENTIFIED BY "123";spa
CREATE USER 'john'@'192.168.189.%' IDENTIFIED BY "123";htm
CREATE USER 'john'@' %' ;
说明:该方法建立出来的用户只有链接数据库的权限,须要后续继续受权;
受权方式参照另外一文:
http://www.cnblogs.com/wbq-wyw/p/5753096.html
3、经过GRANT命令建立用户
我的习惯通常用这种方法进行建立用户,当数据库存在用户的时候GRANT会对用户进行受权,但当数据库不存在该用户的时候,就会建立相应的用户并进行受权。(说明上面那步是多余的)
脚本:
GRANT <ALL|priv1,priv2,.....privn> ON
[object] [IDENTIFIED BY 'password']
[WITH GRANT OPTION];
MAX_QUERIES_PER_HOUR count
MAX_UPDATES_PER_HOUR count
MAX_CONNECTIONS_PER_HOUR count
MAX_USER_CONNECTIONS count
说明:priv表明权限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
例子:mysql>grant select,insert,update,delete,create,drop on test.hr to john@192.168.10.1 identified by '123';
说明:给主机为192.168.10.1的用户john分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操做的权限,并设定口令为123。
mysql>grant all privileges on test.* to joe@192.168.10.1 identified by '123';
说明:给主机为192.168.10.1的用户john分配可对数据库test全部表进行全部操做的权限,并设定口令为123。
mysql>grant all privileges on *.* to john@192.168.10.1 identified by '123';
说明:给主机为192.168.10.1的用户john分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。
mysql>grant all privileges on *.* to john@localhost identified by '123';
说明:用户john分配可对全部数据库的全部表进行全部操做的权限,并设定口令为123。
4、直接向mysql.user表插入记录(该方法我的不多用)
由于数据库的用户信息都是保存在mysql.user这张表的,因此直接对该表进行插入语句,便可完成用户的建立;
mysql> insert into user (host,user,password) values ('%','john',password('123'));
5、完成用户的建立后,请记得刷新系统权限表;
mysql>flush privileges;
总结:虽然建立用户的方法有三种,我的仍是倾向于第二种方法,一步到位,简单明了;
其余的两种方法只是有助于理解数据库的原理而已;
--------------------------------------分割线 --------------------------------------
Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm
《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm
Ubuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htm
Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htm
Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm
MySQL-5.5.38通用二进制安装 http://www.linuxidc.com/Linux/2014-07/104509.htm