1. 程式人生 > >mysql建立使用者的三種方法

mysql建立使用者的三種方法

一、賬號名稱的構成方式
賬號的組成方式:使用者名稱+主機(所以可以出現重複的使用者名稱,跟其他的資料庫不一樣)
使用者名稱:16字元以內.
主機名:可以用主機名和IP地址,也可以用萬用字元
萬用字元說明:172.18.10.%(IP地址為172.18.10段的所有IP地址都可以訪問)

二、通過CREATE USER命令進行建立使用者
指令碼:CREATE USER ‘username’@’host’ [IDENTIFIED BY ‘PASSWORD’] 其中密碼是可選項;

例子:CREATE USER ‘john’@’192.168.189.71’ IDENTIFIED BY “123”;
CREATE USER ‘john’@’192.168.189.%’ IDENTIFIED BY “123”;
CREATE USER ‘john’@’ %’ ;
說明:該方法創建出來的使用者只有連線資料庫的許可權,需要後續繼續授權;

三、通過GRANT命令建立使用者
個人習慣一般用這種方法進行建立使用者,當資料庫存在使用者的時候GRANT會對使用者進行授權,但當資料庫不存在該使用者的時候,就會建立相應的使用者並進行授權。(說明上面那步是多餘的)
指令碼:
GRANT 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 [email protected] identified by ‘123’;
說明:給主機為192.168.10.1的使用者john分配可對資料庫test的hr表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。

mysql>grant all privileges on test.* to [email protected] identified by ‘123’;
說明:給主機為192.168.10.1的使用者john分配可對資料庫test所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on . to [email protected] identified by ‘123’;
說明:給主機為192.168.10.1的使用者john分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on . to [email protected] identified by ‘123’;
說明:使用者john分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

四、直接向mysql.user表插入記錄(該方法個人很少用)
因為資料庫的使用者資訊都是儲存在mysql.user這張表的,所以直接對該表進行插入語句,即可完成使用者的建立;
mysql> insert into user (host,user,password) values (‘%’,’john’,password(‘123’));

五、完成使用者的建立後,請記得刷新系統許可權表;
mysql>flush privileges;

總結:雖然建立使用者的方法有三種,個人還是傾向於第二種方法,一步到位,簡單明瞭;
其他的兩種方法只是有助於理解資料庫的原理而已;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
本文作者:JOHN
ORACLE技術部落格:ORACLE 獵人筆記 資料庫技術群:367875324 (請備註ORACLE管理 )
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++