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