mysql資料庫怎麼增加用戶

青灯夜游
發布: 2022-06-14 17:18:45
原創
12284 人瀏覽過

增加使用者的兩種方法:1、使用CREATE USER語句新使用者並設定對應的密碼,語法「CREATE USER 使用者 IDENTIFIED BY [ PASSWORD ] 'password']」。 2.用GRANT語句新建用戶,語法「GRANT 用戶權限 ON database.table TO 用戶 [IDENTIFIED BY [PASSWORD] 'password']」。

mysql資料庫怎麼增加用戶

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

MySQL 在安裝時,會預設建立一個名為 root 的用戶,該用戶擁有超級權限,可以控制整個 MySQL 伺服器。

在對MySQL 的日常管理和操作中,為了避免有人惡意使用root 用戶控制資料庫,我們通常會創建一些具有適當權限的用戶,盡可能地不用或少用root 用戶登入系統,以此來確保資料的安全存取。

mysql資料庫增加(建立)使用者的兩種方法

  • #使用CREATE USER 語句建立使用者

  • 使用GRANT 語句建立使用者

1、使用MySQL CREATE USER語句新使用者

可以使用 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資料庫伺服器 的新用戶,請使用下列 語句:localhostsecretCREATE USER

CREATE USER dbadmin@localhost IDENTIFIED BY 'secret';
登入後複製

要查看使用者帳戶的權限,請使用下列SHOW GRANTS語句:

SHOW GRANTS FOR dbadmin@localhost;
登入後複製

mysql資料庫怎麼增加用戶

#結果中的*.*表示使用者帳號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;
登入後複製

mysql資料庫怎麼增加用戶

如果您不小心引用了使用者帳號'username@hostname',MySQL會建立一個使用者# username@hostname name並允許使用者從任何主機連接,這可能不是您所期望的。

例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

CREATE USER 'api@localhost';
登入後複製
SHOW GRANTS FOR 'api@localhost';
登入後複製

mysql資料庫怎麼增加用戶

如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote已存在的名为的用户帐户:

CREATE USER remote;
登入後複製
登入後複製

MySQL发出以下错误消息:

ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
登入後複製

注意:CREATE USER语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT语句。

2、使用MySQL 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!