首頁  >  文章  >  資料庫  >  mysql怎麼增加用戶

mysql怎麼增加用戶

青灯夜游
青灯夜游原創
2021-12-31 15:27:2012844瀏覽

增加使用者的方法:1、使用「CREATE USER 使用者 IDENTIFIED BY '密碼';」語句;2、使用「GRANT priv_type ON database.table TO 使用者 IDENTIFIED BY '密碼';」語句。

mysql怎麼增加用戶

本教學操作環境: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 ] &#39;password&#39; ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] &#39;password&#39; ]]

參數說明如下:

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 &#39;test1&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;test1&#39;;
Query OK, 1 rows affected (0.06 sec)

結果顯示,建立 test1 使用者成功。

在實際應用程式中,我們應避免明文指定密碼,可以透過 PASSWORD 關鍵字使用密碼的雜湊值設定密碼。

範例2

在MySQL 中,可以使用password() 函數來取得密碼的雜湊值,查看test1 雜湊值的SQL 語句和執行程序如下:

mysql> SELECT password(&#39;test1&#39;);
+-------------------------------------------+
| password(&#39;test1&#39;)                         |
+-------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)

「*06C0BF5B64ECE2F648B5F048A71903906BA08E5C」就是test1 的雜湊。以下建立使用者 test1,SQL 語句和執行過程如下:

mysql> CREATE USER &#39;test1&#39;@&#39;localhost&#39;IDENTIFIED BY PASSWORD &#39;*06C0BF5B64ECE2F648B5F048A71903906BA08E5C&#39;;
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] &#39;password&#39;]

其中:

  • ##priv_type 參數表示新使用者的權限;

  • database.table 參數表示新使用者的權限範圍,即只能在指定的資料庫和表上使用自己的權限;

  • 872f855209db0d4cc52418e8fe1d254b 參數指定新使用者的帳號,由使用者名稱和主機名稱構成;

  • ##IDENTIFIED BY

    關鍵字用來設定密碼;

  • password

    參數表示新使用者的密碼。

範例 3

下面使用 GRANT 語句建立名為 test3 的用戶,主機名稱為 localhost,密碼為 test3。該使用者對所有資料庫的所有表都有 SELECT 權限。 SQL 語句與執行程式如下:

mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
Query OK, 0 rows affected, 1 warning (0.01 sec)

其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

【相关推荐:mysql视频教程

以上是mysql怎麼增加用戶的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn