增加使用者的兩種方法:1、使用CREATE USER語句新使用者並設定對應的密碼,語法「CREATE USER 使用者 IDENTIFIED BY [ PASSWORD ] 'password']」。 2.用GRANT語句新建用戶,語法「GRANT 用戶權限 ON database.table TO 用戶 [IDENTIFIED BY [PASSWORD] 'password']」。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
MySQL 在安裝時,會預設建立一個名為 root 的用戶,該用戶擁有超級權限,可以控制整個 MySQL 伺服器。
在對MySQL 的日常管理和操作中,為了避免有人惡意使用root 用戶控制資料庫,我們通常會創建一些具有適當權限的用戶,盡可能地不用或少用root 用戶登入系統,以此來確保資料的安全存取。
mysql資料庫增加(建立)使用者的兩種方法
#使用CREATE USER 語句建立使用者
使用GRANT 語句建立使用者
可以使用 CREATE USER 語句來建立MySQL 用戶,並設定對應的密碼。其基本語法格式如下:
CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];
1) 使用者
#指定建立使用者帳號,格式為 username'@'hostname。這裡的user_name是使用者名,host_name為主機名,也就是使用者連線 MySQL 時所用主機的名字。如果在建立的過程中,只給了使用者名,而沒指定主機名,那麼主機名稱預設為“%”,表示一組主機,即對所有主機開放權限。
3) IDENTIFIED BY子句
用於指定使用者密碼。新使用者可以沒有初始密碼,若使用者不設密碼,可省略此子句。
2) PASSWORD 'password'
PASSWORD 表示使用雜湊值設定密碼,該參數可選。如果密碼是一個普通的字串,則不需要使用 PASSWORD 關鍵字。 'password' 表示使用者登入時所使用的密碼,需要用單引號括起來。
註:密碼必須是明文。在將使用者帳戶儲存到user
表中之前,MySQL將加密密碼。
例如,要建立一個使用 密碼dbadmin
連接到MySQL資料庫伺服器 的新用戶,請使用下列 語句:localhost
secret
CREATE USER
CREATE USER dbadmin@localhost IDENTIFIED BY 'secret';
要查看使用者帳戶的權限,請使用下列SHOW GRANTS
語句:
SHOW GRANTS FOR dbadmin@localhost;
#結果中的*.*
表示使用者帳號dbadmin
只能登入資料庫伺服器,沒有其他權限。若要授予使用者權限,請使用GRANT
語句。
請注意,點(.
)前面的部分代表資料庫,點(.
)後面的部分代表表格,例如, database.table
要允許使用者帳戶從任何主機進行連接,請使用百分比(%)
通配符,如以下範例所示:
CREATE USER superadmin@'%'IDENTIFIED BY 'secret';
百分比通配符 %
與在LIKE
運算子中使用的效果相同,例如,要允許mysqladmin
使用者帳戶從begtut.com
主機的任何子網域連接到資料庫伺服器 ,請使用百分比通配符%
,如下:
CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';
請注意,您也可以在CREATE USER
語句中使用底線通配符_ 。
如果省略hostname
使用者帳戶的一部分,MySQL將接受它並允許使用者從任何主機連線。例如,以下語句建立一個名為remote
可以從任何主機連接到資料庫伺服器的新使用者帳戶:
CREATE USER remote;
您可以看到授予remote
使用者帳戶的權限,如下所示:
SHOW GRANTS FOR remote;
如果您不小心引用了使用者帳號'username@hostname'
,MySQL會建立一個使用者 # username@hostname name
並允許使用者從任何主機連接,這可能不是您所期望的。
例如,以下语句创建一个api@localhost
可以从任何主机连接到MySQL数据库服务器的新用户。
CREATE USER 'api@localhost';
SHOW GRANTS FOR 'api@localhost';
如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote
已存在的名为的用户帐户:
CREATE USER remote;
MySQL发出以下错误消息:
ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
注意:CREATE USER
语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT
语句。
虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。
使用 GRANT 语句创建用户的基本语法形式如下:
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
其中:
priv_type 参数表示新用户的权限;
database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
user 参数指定新用户的账号,由用户名和主机名构成;
IDENTIFIED BY 关键字用来设置密码;
password 参数表示新用户的密码。
示例:
下面使用 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视频教程】
以上是mysql資料庫怎麼增加用戶的詳細內容。更多資訊請關注PHP中文網其他相關文章!