? 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教程》