共計 2822 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章主要介紹“mysql 如何增加用戶”,在日常操作中,相信很多人在 mysql 如何增加用戶問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql 如何增加用戶”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
增加用戶的方法:1、使用“CREATE USER 用戶 IDENTIFIED BY 密碼”語句;2、使用“GRANT priv_type ON database.table TO 用戶 IDENTIFIED BY 密碼”語句。
本教程操作環(huán)境:windows7 系統(tǒng)、mysql8 版本、Dell G3 電腦。
MySQL 在安裝時,會默認創(chuàng)建一個名為 root 的用戶,該用戶擁有超級權限,可以控制整個 MySQL 服務器。
在對 MySQL 的日常管理和操作中,為了避免有人惡意使用 root 用戶控制數(shù)據(jù)庫,我們通常創(chuàng)建一些具有適當權限的用戶,盡可能地不用或少用 root 用戶登錄系統(tǒng),以此來確保數(shù)據(jù)的安全訪問。
MySQL 提供了以下 3 種方法創(chuàng)建用戶。
使用 CREATE USER 語句創(chuàng)建用戶
在 mysql.user 表中添加用戶
使用 GRANT 語句創(chuàng)建用戶
下面根據(jù)實例詳細講解這 3 種方法。
1. 使用 CREATE USER 語句創(chuàng)建用戶
可以使用 CREATE USER 語句來創(chuàng)建 MySQL 用戶,并設置相應的密碼。其基本語法格式如下:
CREATE USER 用戶 [ IDENTIFIED BY [ PASSWORD ] password ] [ , 用戶 [ IDENTIFIED BY [ PASSWORD ] password ]]
參數(shù)說明如下:
1) 用戶
指定創(chuàng)建用戶賬號,格式為 user_name @ host_name。這里的 user_name 是用戶名,host_name 為主機名,即用戶連接 MySQL 時所用主機的名字。如果在創(chuàng)建的過程中,只給出了用戶名,而沒指定主機名,那么主機名默認為“%”,表示一組主機,即對所有主機開放權限。
3) IDENTIFIED BY 子句
用于指定用戶密碼。新用戶可以沒有初始密碼,若該用戶不設密碼,可省略此子句。
2) PASSWORD password
PASSWORD 表示使用哈希值設置密碼,該參數(shù)可選。如果密碼是一個普通的字符串,則不需要使用 PASSWORD 關鍵字。password 表示用戶登錄時使用的密碼,需要用單引號括起來。
使用 CREATE USER 語句時應注意以下幾點:
CREATE USER 語句可以不指定初始密碼。但是從安全的角度來說,不推薦這種做法。
使用 CREATE USER 語句必須擁有 mysql 數(shù)據(jù)庫的 INSERT 權限或全局 CREATE USER 權限。
使用 CREATE USER 語句創(chuàng)建一個用戶后,MySQL 會在 mysql 數(shù)據(jù)庫的 user 表中添加一條新記錄。
CREATE USER 語句可以同時創(chuàng)建多個用戶,多個用戶用逗號隔開。
新創(chuàng)建的用戶擁有的權限很少,它們只能執(zhí)行不需要權限的操作。如登錄 MySQL、使用 SHOW 語句查詢所有存儲引擎和字符集的列表等。如果兩個用戶的用戶名相同,但主機名不同,MySQL 會將它們視為兩個用戶,并允許為這兩個用戶分配不同的權限集合。
例 1
使用 CREATE USER 創(chuàng)建一個用戶,用戶名是 test1,密碼是 test1,主機名是 localhost。SQL 語句和執(zhí)行過程如下。
mysql CREATE USER test1 @ localhost IDENTIFIED BY test1
Query OK, 1 rows affected (0.06 sec)
結果顯示,創(chuàng)建 test1 用戶成功。
在實際應用中,我們應避免明文指定密碼,可以通過 PASSWORD 關鍵字使用密碼的哈希值設置密碼。
例 2
在 MySQL 中,可以使用 password() 函數(shù)獲取密碼的哈希值,查看 test1 哈希值的 SQL 語句和執(zhí)行過程如下:
mysql SELECT password( test1
+-------------------------------------------+
| password(test1) |
+-------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
“*06C0BF5B64ECE2F648B5F048A71903906BA08E5C”就是 test1 的哈希值。下面創(chuàng)建用戶 test1,SQL 語句和執(zhí)行過程如下:
mysql CREATE USER test1 @ localhost IDENTIFIED BY PASSWORD *06C0BF5B64ECE2F648B5F048A71903906BA08E5C
Query OK, 0 rows affected, 1 warning (0.00 sec)
執(zhí)行成功后就可以使用密碼“test1”登錄了。
2. 使用 GRANT 語句新建用戶
雖然 CREATE USER 可以創(chuàng)建普通用戶,但是這種方式不便授予用戶權限。于是 MySQL 提供了 GRANT 語句。
使用 GRANT 語句創(chuàng)建用戶的基本語法形式如下:
GRANT priv_type ON database.table TO 用戶 [IDENTIFIED BY [PASSWORD] password ]
其中:
priv_type 參數(shù)表示新用戶的權限;
database.table 參數(shù)表示新用戶的權限范圍,即只能在指定的數(shù)據(jù)庫和表上使用自己的權限;
用戶 參數(shù)指定新用戶的賬號,由用戶名和主機名構成;
IDENTIFIED BY 關鍵字用來設置密碼;
password 參數(shù)表示新用戶的密碼。
例 3
下面使用 GRANT 語句創(chuàng)建名為 test3 的用戶,主機名為 localhost,密碼為 test3。該用戶對所有數(shù)據(jù)庫的所有表都有 SELECT 權限。SQL 語句和執(zhí)行過程如下:
mysql GRANT SELECT ON*.* TO test3 @localhost IDENTIFIED BY test3
Query OK, 0 rows affected, 1 warning (0.01 sec)
其中,“*.*”表示所有數(shù)據(jù)庫下的所有表。結果顯示創(chuàng)建用戶成功,且 test3 用戶對所有表都有查詢(SELECT)權限。
技巧:GRANT 語句是 MySQL 中一個非常重要的語句,它可以用來創(chuàng)建用戶、修改用戶密碼和設置用戶權限。教程后面會詳細介紹如何使用 GRANT 語句修改密碼、更改權限。
到此,關于“mysql 如何增加用戶”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>