分享方式:


在適用於 MySQL 的 Azure 資料庫中建立使用者

適用於:適用於 MySQL 的 Azure 資料庫 - 單一伺服器適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?

本文描述如何為適用於 MySQL 的 Azure 資料庫建立使用者。

注意

本文參考 Microsoft 不再使用的從屬詞彙。 從軟體中移除該字詞時,我們也會將其從本文中移除。

在建立適用於 MySQL 的 Azure 資料庫伺服器時,您提供了伺服器管理員使用者名稱和密碼。 如需詳細資訊,請參閱此快速入門。 您可以在 Azure 入口網站中決定您的伺服器管理員使用者名稱。

伺服器管理員使用者具有下列權限:

SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、RELOAD、PROCESS、REFERENCES、INDEX、ALTER、SHOW DATABASES、CREATE TEMPORARY TABLES、LOCK TABLES、EXECUTE、REPLICATION SLAVE、REPLICATION CLIENT、CREATE VIEW、SHOW VIEW、CREATE ROUTINE、ALTER ROUTINE、CREATE USER、EVENT、TRIGGER

在建立適用於 MySQL 的 Azure 資料庫伺服器之後,您可以使用第一個伺服器系統管理員帳戶,建立其他使用者並將管理員存取權授與他們。 您也可以使用伺服器系統管理員帳戶,建立較低權限的使用者,以存取個別資料庫結構描述。

注意

不支援 SUPER 權限和 DBA 角色。 請檢閱限制一文中的權限,以了解服務中不支援的項目。

服務不支援 validate_passwordcaching_sha2_password 之類的密碼外掛程式。

建立資料庫

  1. 取得連線資訊和管理員使用者名稱。

    您需要完整伺服器名稱和管理員登入認證,來連線到資料庫伺服器。 您可以從 Azure 入口網站的伺服器 [概觀] 或 [屬性] 頁面輕鬆尋找伺服器名稱和登入資訊。

  2. 使用系統管理員帳戶和密碼來連線到資料庫伺服器。 使用您慣用的用戶端工具:MySQL Workbench、mysql.exe 或 HeidiSQL。

注意

如果您不確定如何連線,請參閱連線和查詢單一伺服器的資料,或 連線和查詢彈性伺服器的資料

  1. 編輯並執行下列 SQL 程式碼。 將 db_user 預留位置值取代為您需要的新使用者名稱。 將 testdb 預留位置值取代為您的資料庫名稱。

    此 SQL 程式碼會建立新的資料庫,名為 testdb。 然後,其會在 MySQL 服務中建立新的使用者,並將新資料庫結構描述 (testdb.*) 的所有權限授與該使用者。

    CREATE DATABASE testdb;
    

建立非管理使用者

現在您已建立資料庫,就可以使用 CREATE USER MySQL 陳述式來建立非管理使用者。

CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';

FLUSH PRIVILEGES;

驗證使用者權限

若要檢視 db_user 資料庫上使用者 testdb 允許的權限,請執行 SHOW GRANTS MySQL 陳述式。

USE testdb;

SHOW GRANTS FOR 'db_user'@'%';

使用新的使用者連線至資料庫

指定委派的資料庫,並使用新的使用者名稱和密碼來登入伺服器。 此範例會顯示 MySQL 命令列。 當您使用此命令時,系統會提示您輸入使用者的密碼。 使用您自己的伺服器名稱、資料庫名稱和使用者名稱。 請參閱下表,了解如何連線至單一伺服器和彈性伺服器。

伺服器類型 使用方式
單一伺服器 mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p
彈性伺服器 mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p

限制使用者的權限

若要限制使用者可以在資料庫上執行的作業類型,您必須在 GRANT 陳述式中明確地新增作業。 請參閱下列範例:

CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

關於 azure_superuser

所有適用於 MySQL 的 Azure 資料庫伺服器都是使用稱為 "azure_superuser" 的使用者建立的。 Microsoft 建立用於管理伺服器的系統帳戶,以執行監視、備份和其他定期維護。 待命工程師也可以使用此帳戶,在事件期間搭配憑證驗證來存取伺服器,而且必須使用 Just-In-Time (JIT) 流程來要求存取。

下一步