MySQL
在安裝時,會默認創(chuàng)建一個名為 root
的用戶,該用戶擁有超級權(quán)限,可以控制整個 MySQL
服務器,但是在剛剛?cè)腴T時可能由于對數(shù)據(jù)庫的不了解,會導致對數(shù)據(jù)庫的錯誤使用,所以我們通常創(chuàng)建一些具有適當權(quán)限的用戶。
1.使用CREATE USER語句創(chuàng)建用戶
CREATE USER <用戶> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,用戶 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
-
用戶:指定創(chuàng)建用戶賬號,格式為 user_name'@'host_name。這里的user_name是用戶名,host_name為主機名
-
IDENTIFIED BY子句 :用于指定用戶密碼。新用戶可以沒有初始密碼,若該用戶不設密碼,可省略此子句。
-
PASSWORD 'password':PASSWORD 表示使用哈希值設置密碼,該參數(shù)可選。如果密碼是一個普通的字符串,則不需要使用 PASSWORD 關(guān)鍵字。'password' 表示用戶登錄時使用的密碼,需要用單引號括起來。
2.使用 INSERT 語句新建用戶
可以使用 INSERT 語句將用戶的信息添加到 mysql.user 表中,但必須擁有對 mysql.user 表的 INSERT 權(quán)限。通常 INSERT 語句只添加 Host、User 和 authentication_string 這 3 個字段的值。
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ù)指定新用戶的賬號,由用戶名和主機名構(gòu)成;
-
IDENTIFIED BY 關(guān)鍵字用來設置密碼;
-
password 參數(shù)表示新用戶的密碼。
推薦:《mysql教程》