MySQL创建用户(CREATE USER)
在對(duì) MySQL 的日常管理和實(shí)際操作中,為了避免用戶(hù)惡意冒名使用 root 賬號(hào)控制數(shù)據(jù)庫(kù),通常需要?jiǎng)?chuàng)建一系列具備適當(dāng)權(quán)限的賬號(hào),應(yīng)該盡可能地不用或少用 root 賬號(hào)登錄系統(tǒng),以此來(lái)確保數(shù)據(jù)的安全訪(fǎng)問(wèn)。
?
創(chuàng)建用戶(hù)
可以使用 CREATE USER 語(yǔ)句來(lái)創(chuàng)建一個(gè)或多個(gè) MySQL 賬戶(hù),并設(shè)置相應(yīng)的口令。
語(yǔ)法格式:
CREATE USER <用戶(hù)名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
語(yǔ)法說(shuō)明如下:
1) <用戶(hù)名>
指定創(chuàng)建用戶(hù)賬號(hào),格式為 'user_name'@'host_name'。這里user_name是用戶(hù)名,host_name為主機(jī)名,即用戶(hù)連接 MySQL 時(shí)所在主機(jī)的名字。若在創(chuàng)建的過(guò)程中,只給出了賬戶(hù)的用戶(hù)名,而沒(méi)指定主機(jī)名,則主機(jī)名默認(rèn)為“%”,表示一組主機(jī)。
2) PASSWORD
可選項(xiàng),用于指定散列口令,即若使用明文設(shè)置口令,則需忽略PASSWORD關(guān)鍵字;若不想以明文設(shè)置口令,且知道 PASSWORD() 函數(shù)返回給密碼的散列值,則可以在口令設(shè)置語(yǔ)句中指定此散列值,但需要加上關(guān)鍵字PASSWORD。
3) IDENTIFIED BY子句
用于指定用戶(hù)賬號(hào)對(duì)應(yīng)的口令,若該用戶(hù)賬號(hào)無(wú)口令,則可省略此子句。
4) <口令>
指定用戶(hù)賬號(hào)的口令,在IDENTIFIED BY關(guān)鍵字或PASSWOED關(guān)鍵字之后。給定的口令值可以是只由字母和數(shù)字組成的明文,也可以是通過(guò) PASSWORD() 函數(shù)得到的散列值。
使用 CREATE USER 語(yǔ)句應(yīng)該注意以下幾點(diǎn):
- 如果使用 CREATE USER 語(yǔ)句時(shí)沒(méi)有為用戶(hù)指定口令,那么 MySQL 允許該用戶(hù)可以不使用口令登錄系統(tǒng),然而從安全的角度而言,不推薦這種做法。
- 使用 CREATE USER 語(yǔ)句必須擁有 MySQL 中 MySQL 數(shù)據(jù)庫(kù)的 INSERT 權(quán)限或全局 CREATE USER 權(quán)限。
- 使用 CREATE USER 語(yǔ)句創(chuàng)建一個(gè)用戶(hù)賬號(hào)后,會(huì)在系統(tǒng)自身的 MySQL 數(shù)據(jù)庫(kù)的 user 表中添加一條新記錄。若創(chuàng)建的賬戶(hù)已經(jīng)存在,則語(yǔ)句執(zhí)行時(shí)會(huì)出現(xiàn)錯(cuò)誤。
- 新創(chuàng)建的用戶(hù)擁有的權(quán)限很少。已經(jīng)為大家精心準(zhǔn)備了大數(shù)據(jù)的系統(tǒng)學(xué)習(xí)資料,從Linux-Hadoop-spark-......,需要的小伙伴可以點(diǎn)擊他們可以登錄 MySQL,只允許進(jìn)行不需要權(quán)限的操作,如使用 SHOW 語(yǔ)句查詢(xún)所有存儲(chǔ)引擎和字符集的列表等。
如果兩個(gè)用戶(hù)具有相同的用戶(hù)名和不同的主機(jī)名,MySQL 會(huì)將他們視為不同的用戶(hù),并允許為這兩個(gè)用戶(hù)分配不同的權(quán)限集合。
【實(shí)例 1】使用 CREATE USER 創(chuàng)建一個(gè)用戶(hù),用戶(hù)名是 james,密碼是 tiger,主機(jī)是 localhost。輸入的 SQL 語(yǔ)句和執(zhí)行過(guò)程如下所示。
mysql> CREATE USER 'james'@'localhost' -> IDENTIFIED BY 'tiger'; Query OK, 0 rows affected (0.12 sec)在 Windows 命令行工具中,使用新創(chuàng)建的用戶(hù) james 和密碼 tiger 登錄數(shù)據(jù)庫(kù)服務(wù)器,如下所示。
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.?
總結(jié)
以上是生活随笔為你收集整理的MySQL创建用户(CREATE USER)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL修改和删除索引(DROP IN
- 下一篇: MySQL修改用户(RENAME USE