前言: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