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

重要

適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?

本文說明如何在 適用於 MariaDB 的 Azure 資料庫 中建立使用者。

當您第一次建立 適用於 MariaDB 的 Azure 資料庫 時,您提供了伺服器管理員登入使用者名稱和密碼。 如需詳細資訊,您可以遵循 快速入門。 您可以從 Azure 入口網站 找到伺服器管理員登入使用者名稱。

注意

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

伺服器管理員使用者會依照列出的方式取得伺服器的特定許可權: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

建立 適用於 MariaDB 的 Azure 資料庫 伺服器之後,您可以使用第一個伺服器管理員使用者帳戶來建立更多使用者,並授與系統管理員存取權。 此外,伺服器管理員帳戶也可以用來建立具有個別資料庫架構存取權的較低特殊許可權使用者。

注意

不支援 SUPER 許可權和 DBA 角色。 請檢閱限制文章中的許可權,以瞭解服務不支持的內容。

服務不支援「validate_password」和「caching_sha2_password」等密碼外掛程式。

建立更多系統管理員使用者

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

  2. 使用系統管理員帳戶和密碼來連線到您的資料庫伺服器。 使用您慣用的用戶端工具,例如 MySQL Workbench、mysql.exe、HeidiSQL 或其他工具。 如果您不確定如何連線,請參閱 使用 MySQL Workbench 連線和查詢數據

  3. 編輯並執行下列 SQL 程式代碼。 將佔位元值 new_master_user的新使用者名稱取代為 。 此語法會將所有資料庫架構 (.) 上所列的許可權授與用戶名稱(在此範例中new_master_user)。

    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;
    
  4. 確認授與。

    USE sys;
    
    SHOW GRANTS FOR 'new_master_user'@'%';
    

建立資料庫使用者

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

  2. 使用系統管理員帳戶和密碼來連線到您的資料庫伺服器。 使用您慣用的用戶端工具,例如 MySQL Workbench、mysql.exe、HeidiSQL 或其他工具。 如果您不確定如何連線,請參閱 使用 MySQL Workbench 連線和查詢數據

  3. 編輯並執行下列 SQL 程式代碼。 將佔位元值 db_user 取代為您預定的新用戶名稱,並以您自己的資料庫名稱取代佔位元值 testdb

    此 sql 程式代碼語法會建立名為 testdb 的新資料庫,以作為範例用途。 然後,它會在 適用於 MariaDB 的 Azure 資料庫 服務中建立新使用者,併為該使用者授與新的資料庫架構 (testdb.*) 的所有許可權。

    CREATE DATABASE testdb;
    
    CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
    
    GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
    
    FLUSH PRIVILEGES;
    
  4. 確認資料庫中的授與。

    USE testdb;
    
    SHOW GRANTS FOR 'db_user'@'%';
    
  5. 登入伺服器,使用新的使用者名稱和密碼指定指定的資料庫。 此範例顯示 mysql 命令行。 使用此命令,系統會提示您輸入使用者名稱的密碼。 取代您自己的伺服器名稱、資料庫名稱和用戶名稱。

    mysql --host mydemoserver.mariadb.database.azure.com --database testdb --user db_user@mydemoserver -p
    

    如需使用者帳戶管理的詳細資訊,請參閱適用於用戶帳戶管理、GRANT 語法許可權的 MariaDB 檔。

azure_superuser

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

下一步

開啟新用戶計算機IP位址的防火牆,讓他們能夠連線:使用 Azure 入口網站建立和管理 適用於 MariaDB 的 Azure 資料庫防火牆規則