在適用於 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_password
和 caching_sha2_password
之類的密碼外掛程式。
建立資料庫
取得連線資訊和管理員使用者名稱。
若要連線到您的資料庫伺服器,您需要完整伺服器名稱和系統管理員登入認證。 您可以從 Azure 入口網站的伺服器 [概觀] 或 [屬性] 頁面輕鬆尋找伺服器名稱和登入資訊。
使用系統管理員帳戶和密碼來連線到資料庫伺服器。 使用您慣用的用戶端工具:MySQL Workbench、mysql.exe 或 HeidiSQL。
編輯並執行下列 SQL 程式碼。 將
db_user
預留位置值取代為您需要的新使用者名稱。 將testdb
預留位置值取代為您的資料庫名稱。
此 SQL 程式碼會建立新的資料庫,名為 testdb。 然後,其會在 MySQL 服務中建立新的使用者,並將新資料庫結構描述 (testdb.*) 的所有權限授與該使用者。
CREATE DATABASE testdb;
建立非管理使用者
既然您已建立資料庫,您可以使用 MySQL 語句來建立非系統管理員使用者 CREATE USER
。
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 命令列。 當您使用此命令時,系統會提示您輸入使用者的密碼。 使用您自己的伺服器名稱、資料庫名稱和使用者名稱。 請參閱下表中的連線方式。
--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) 程式要求存取。