MySQL
在安裝時,會預設建立一個名為 root
的用戶,該用戶擁有超級權限,可以控制整個MySQL
伺服器,但在剛入門時可能由於對資料庫的不了解,會導致對資料庫的錯誤使用,所以我們通常會建立一些具有適當權限的使用者。
1.使用CREATE USER語句建立使用者
CREATE USER <用户> [ IDENTIFIED BY [ PASSWORD ] 'password' ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
使用者:指定建立使用者帳號,格式為 user_name' @'host_name。這裡的user_name是使用者名,host_name為主機名稱
IDENTIFIED BY子句 :用來指定使用者密碼。新使用者可以沒有初始密碼,若使用者不設密碼,可省略此子句。
PASSWORD 'password':PASSWORD 表示使用雜湊值設定密碼,該參數可選。如果密碼是一個普通的字串,則不需要使用 PASSWORD 關鍵字。 'password' 表示使用者登入時所使用的密碼,需要用單引號括起來。
2.使用INSERT 語句新使用者
則可使用INSERT 語句將使用者的資訊加入mysql.user表中,但必須擁有對mysql.user 表的INSERT 權限。通常 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 語句都可以建立一般用戶,但是這兩種方式不便授予使用者權限。於是 MySQL 提供了 GRANT 語句。
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
priv_type 參數表示新使用者的權限;
database.table 參數表示新使用者的權限範圍,也就是只能在指定的資料庫和表格上使用自己的權限;
user 參數指定新使用者的帳號,由使用者名稱和主機名稱構成;
IDENTIFIED BY關鍵字用來設定密碼;
password 參數表示新使用者的密碼。
推薦:《mysql教學》
以上是MySQL建立使用者的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!