Azure Database for MariaDB でユーザーを作成する

重要

Azure Database for MariaDB は、提供終了予定です。 Azure Database for MySQL に移行することを強くお勧めします。 Azure Database for MySQL への移行の詳細については、「Azure Database for MariaDB の動作」を参照してください

この記事では、Azure Database for MariaDB でユーザーを作成する方法について説明します。

Azure Database for MariaDB を初めて作成したときに、サーバー管理者のログイン ユーザー名とパスワードを指定しています。 詳細については、クイックスタートに関するページを参照してください。 サーバー管理者のログイン ユーザー名は、Azure Portal で確認できます。

Note

この記事には、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 の特権が付与されます。

Azure Database for MariaDB サーバーが作成されたら、最初のサーバー管理者のユーザー アカウントを使用して、追加のユーザーを作成し、それらのユーザーに管理者アクセス権を付与できます。 また、サーバー管理者アカウントを使用して、個々のデータベース スキーマに対するアクセス権を持つ特権の少ないユーザーを作成することもできます。

Note

SUPER 権限と DBA ロールはサポートされていません。 制限事項に関する記事に記載されている権限を確認して、サービスでサポートされていない権限を理解してください。

"validate_password" や "caching_sha2_password" などのパスワード プラグインは、サービスではサポートされていません。

追加の管理者ユーザーを作成する

  1. 接続情報と管理者のユーザー名を取得します。 データベース サーバーに接続するには、サーバーの完全な名前と管理者サインイン資格情報が必要となります。 Azure Portal で、サーバーの [概要] ページまたは [プロパティ] ページからサーバー名とサインイン情報を簡単に確認できます。

  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 Portal で、サーバーの [概要] ページまたは [プロパティ] ページからサーバー名とサインイン情報を簡単に確認できます。

  2. 管理者のアカウントとパスワードを使用して、データベース サーバーに接続します。 MySQL Workbench、mysql.exe、HeidiSQL など、好みのクライアント ツールを使用します。 接続方法がわからない場合は、MySQL Workbench を使用して接続してデータのクエリを実行する方法に関するページを参照してください。

  3. 次の SQL コードを編集して実行します。 プレースホルダー値 db_user を目的の新しいユーザー名で置き換え、プレースホルダー値 testdb をデータベース名で置き換えます。

    この SQL コード構文では、例のために testdb という新しいデータベースを作成します。 次に、Azure Database for MariaDB サービスに新しいユーザーを作成し、そのユーザーの新しいデータベース スキーマ (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

すべての Azure Database for MySQL サーバーは、"azure_superuser" というユーザーを使用して作成されます。 これは、監視、バックアップ、その他の定期的なメンテナンスを行うサーバーを管理するために Microsoft によって作成されるシステム アカウントです。 また、オンコール エンジニアも、証明書の認証に関するインシデントの間にサーバーにアクセスするためにこのアカウントを使用する場合があり、Just-In-Time (JIT) プロセスを使用してアクセスを要求する必要があります。

次のステップ

新しいユーザーのマシンの IP アドレスについてファイアウォールを開き、接続できるようにします。Azure portal を使用して、Azure Database for MariaDB のファイアウォール規則を作成して管理します