MySQL
在安裝時(shí),會(huì)默認(rèn)創(chuàng)建一個(gè)名為 root
的用戶,該用戶擁有超級(jí)權(quán)限,可以控制整個(gè) MySQL
服務(wù)器,但是在剛剛?cè)腴T時(shí)可能由于對(duì)數(shù)據(jù)庫的不了解,會(huì)導(dǎo)致對(duì)數(shù)據(jù)庫的錯(cuò)誤使用,所以我們通常創(chuàng)建一些具有適當(dāng)權(quán)限的用戶。
1.使用CREATE USER語句創(chuàng)建用戶
CREATE USER <用戶> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,用戶 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
-
用戶:指定創(chuàng)建用戶賬號(hào),格式為 user_name'@'host_name。這里的user_name是用戶名,host_name為主機(jī)名
-
IDENTIFIED BY子句 :用于指定用戶密碼。新用戶可以沒有初始密碼,若該用戶不設(shè)密碼,可省略此子句。
-
PASSWORD 'password':PASSWORD 表示使用哈希值設(shè)置密碼,該參數(shù)可選。如果密碼是一個(gè)普通的字符串,則不需要使用 PASSWORD 關(guān)鍵字。'password' 表示用戶登錄時(shí)使用的密碼,需要用單引號(hào)括起來。
2.使用 INSERT 語句新建用戶
可以使用 INSERT 語句將用戶的信息添加到 mysql.user 表中,但必須擁有對(duì) mysql.user 表的 INSERT 權(quán)限。通常 INSERT 語句只添加 Host、User 和 authentication_string 這 3 個(gè)字段的值。
MySQL 5.7 的 user 表中的密碼字段從 Password 變成了 authentication_string,如果你使用的是 MySQL 5.7 之前的版本,將 authentication_string 字段替換成 Password 即可。
INSERT INTO mysql.user(Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES ('hostname', 'username', PASSWORD('password'), '', '', '');
3. 使用GRANT語句新建用戶
雖然 CREATE USER 和 INSERT INTO 語句都可以創(chuàng)建普通用戶,但是這兩種方式不便授予用戶權(quán)限。于是 MySQL 提供了 GRANT 語句。
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
-
priv_type 參數(shù)表示新用戶的權(quán)限;
-
database.table 參數(shù)表示新用戶的權(quán)限范圍,即只能在指定的數(shù)據(jù)庫和表上使用自己的權(quán)限;
-
user 參數(shù)指定新用戶的賬號(hào),由用戶名和主機(jī)名構(gòu)成;
-
IDENTIFIED BY 關(guān)鍵字用來設(shè)置密碼;
-
password 參數(shù)表示新用戶的密碼。
推薦:《mysql教程》