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

本文說明如何建立新的使用者帳號,以與 適用於 MySQL 的 Azure 資料庫 伺服器互動。

Note

本文提及了 slave 這個詞,而 Microsoft 已不再使用這個詞。 當該術語從軟體中移除時,本文也會將其移除。

當你建立 適用於 MySQL 的 Azure 資料庫 伺服器時,你會提供伺服器管理員的使用者名稱和密碼。 更多資訊請參閱 快速入門:使用Azure入口建立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 資料庫 伺服器後,使用第一個伺服器管理員帳號建立更多使用者並授予管理員權限。 你也可以用伺服器管理員帳號建立權限較低的使用者,讓他們能存取個別資料庫結構。

Note

SUPER 權限和 DBA 角色不被支援。 更多細節請參閱 支援權限文件。

密碼相關外掛 caching_sha2_password 預設已啟用。

要啟用validate_password外掛,請參見 適用於 MySQL 的 Azure 資料庫 內建的儲存程序。

建立資料庫

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

    要連接你的資料庫伺服器,你需要完整的伺服器名稱和管理員登入憑證。 你可以在 Azure 入口網站的伺服器概覽或屬性頁面輕鬆找到伺服器名稱和登入資訊。

  2. 使用管理員帳號和密碼連接你的資料庫伺服器。 使用你偏好的客戶端工具、MySQL Workbench、mysql.exe或 HeidiSQL。

  3. 編輯並執行下列 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_usertestdb在資料庫中被允許的權限,請執行 SHOW GRANTS MySQL 陳述式。

USE testdb;

SHOW GRANTS FOR 'db_user'@'%';

使用新使用者帳號連接至資料庫

登入伺服器,指定指定的資料庫,並使用新的使用者名稱和密碼。 這個範例展示了 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

建立使用者名稱為 azure_superuser 的伺服器。 Microsoft 建立了一個系統帳號來管理伺服器,並處理監控、備份及定期維護。 隨叫隨到的工程師也可能在事件發生時使用此帳號,透過憑證認證存取伺服器,並必須透過即時存取(JIT)程序申請存取。