MySQL创建用户(CREATE USER)
在對 MySQL 的日常管理和實際操作中,為了避免用戶惡意冒名使用 root 賬號控制數據庫,通常需要創(chuàng)建一系列具備適當權限的賬號,應該盡可能地不用或少用 root 賬號登錄系統,以此來確保數據的安全訪問。
?
創(chuàng)建用戶
可以使用 CREATE USER 語句來創(chuàng)建一個或多個 MySQL 賬戶,并設置相應的口令。
語法格式:
CREATE USER <用戶名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
語法說明如下:
1) <用戶名>
指定創(chuàng)建用戶賬號,格式為 'user_name'@'host_name'。這里user_name是用戶名,host_name為主機名,即用戶連接 MySQL 時所在主機的名字。若在創(chuàng)建的過程中,只給出了賬戶的用戶名,而沒指定主機名,則主機名默認為“%”,表示一組主機。
2) PASSWORD
可選項,用于指定散列口令,即若使用明文設置口令,則需忽略PASSWORD關鍵字;若不想以明文設置口令,且知道 PASSWORD() 函數返回給密碼的散列值,則可以在口令設置語句中指定此散列值,但需要加上關鍵字PASSWORD。
3) IDENTIFIED BY子句
用于指定用戶賬號對應的口令,若該用戶賬號無口令,則可省略此子句。
4) <口令>
指定用戶賬號的口令,在IDENTIFIED BY關鍵字或PASSWOED關鍵字之后。給定的口令值可以是只由字母和數字組成的明文,也可以是通過 PASSWORD() 函數得到的散列值。
使用 CREATE USER 語句應該注意以下幾點:
- 如果使用 CREATE USER 語句時沒有為用戶指定口令,那么 MySQL 允許該用戶可以不使用口令登錄系統,然而從安全的角度而言,不推薦這種做法。
- 使用 CREATE USER 語句必須擁有 MySQL 中 MySQL 數據庫的 INSERT 權限或全局 CREATE USER 權限。
- 使用 CREATE USER 語句創(chuàng)建一個用戶賬號后,會在系統自身的 MySQL 數據庫的 user 表中添加一條新記錄。若創(chuàng)建的賬戶已經存在,則語句執(zhí)行時會出現錯誤。
- 新創(chuàng)建的用戶擁有的權限很少。已經為大家精心準備了大數據的系統學習資料,從Linux-Hadoop-spark-......,需要的小伙伴可以點擊他們可以登錄 MySQL,只允許進行不需要權限的操作,如使用 SHOW 語句查詢所有存儲引擎和字符集的列表等。
如果兩個用戶具有相同的用戶名和不同的主機名,MySQL 會將他們視為不同的用戶,并允許為這兩個用戶分配不同的權限集合。
【實例 1】使用 CREATE USER 創(chuàng)建一個用戶,用戶名是 james,密碼是 tiger,主機是 localhost。輸入的 SQL 語句和執(zhí)行過程如下所示。
mysql> CREATE USER 'james'@'localhost' -> IDENTIFIED BY 'tiger'; Query OK, 0 rows affected (0.12 sec)在 Windows 命令行工具中,使用新創(chuàng)建的用戶 james 和密碼 tiger 登錄數據庫服務器,如下所示。
C:UsersUSER>mysql -h localhost -u james -p Enter password: ***** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 5 Server version: 5.7.20-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.?
總結
以上是生活随笔為你收集整理的MySQL创建用户(CREATE USER)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL修改和删除索引(DROP IN
- 下一篇: MySQL修改用户(RENAME USE