Azure Database for MySQL インスタンスをデプロイする
Azure Database for MySQL は、MySQL Community Edition を基盤としたリレーショナル データベース サービスです。 これは、予測可能なパフォーマンスと動的なスケーラビリティを備えたミッション クリティカルなワークロードを処理できる、フル マネージドのサービスとしてのデータベース (DBaaS) オファリングです。
Azure Database for MySQL のデプロイ オプション
Azure で MySQL データベースをホストするには、フレキシブル サーバーデプロイ オプションを使用できます。 フレキシブル サーバー オプションには、次の機能があります。
- データベース サーバーの制御とコストの最適化を強化します。
- MySQL エンジンをカスタマイズしてアプリケーションを開発する機能。
- ゾーン冗長の高可用性。
- パッチとアップグレードのタイミングを制御するための管理メンテナンス期間。
- チューニング用の構成パラメーター。
サーバー インスタンスをデプロイするためのコマンド
このユニットでは、Azure Database for MySQL - フレキシブル サーバー インスタンスをデプロイする手順について説明します。 実際には、いくつかの手順を実行するスクリプトの実行など、次のユニットで同様の手順を実行します。
Azure Database for MySQL - フレキシブル サーバー インスタンスをデプロイするには、最初にリソース グループを作成します。 次に、リソース グループにサーバー インスタンスを作成します。 最後に、インスタンスにアクセスするには、ファイアウォール規則を構成します。
次の手順では、これらのタスクのコマンドの概要を示します。
Azure CLI にサインインするには、次のコマンドを使用します。
az login
Azure リソース グループを作成するには、次のコマンドを使用します。
az group create \ --name <resource-group-name> \ --location <location>
次の一覧では、
<...>
プレースホルダーに使用する値について説明します。<resource-group-name>
は、サブスクリプション内で一意である必要があります。<location>
は、コマンドName
を使用するときに、az account list-locations --output table
列に返される値のいずれかである必要があります。
Azure Database for MySQL - フレキシブル サーバー インスタンスを作成するには、次のコマンドを使用します。
az mysql flexible-server create \ --resource-group <resource-group-name> \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --sku-name Standard_B1ms \ --tier Burstable \ --public-access <public-IP> \ --storage-size 32 \ --storage-auto-grow Enabled \ --iops 500 \ --version 8.0.21
次の一覧では、前に説明した値に加えて、
<...>
プレースホルダーに使用する値について説明します。<MySQL-server-name>
は、リソース グループ内で一意である必要があります。 名前に含めることができるのは、英小文字、数字、ハイフン (-) のみです。 名前の長さは 3 ~ 63 文字にする必要があり、便利な場合は、<resource-group-name>
に使用するのと同じ値を使用できます。<MySQL-password>
は管理者のパスワードです。 パスワードの長さは 8 ~ 128 文字にする必要があります。パスワードには、英語の大文字、英小文字、数字、英数字以外の 3 つのカテゴリの文字を含める必要があります。<public-IP>
は、Azure の外部で接続を許可するホスト名のパブリック IP アドレスです。これは、ローカル ホストからのデータベースのテストに使用されます。
ファイアウォール規則を作成するには、前のコマンドと同じプレースホルダー値で次のコマンドを使用します。
az mysql flexible-server firewall-rule create \ --resource-group <resource-group-name> \ --name <MySQL-server-name> \ --rule-name AllowAllAzureIPs \ --start-ip-address 0.0.0.0 \ --end-ip-address 255.255.255.255
Azure CLI を使用して接続し、接続をテストする
MySQL 8.0 以降、ユーザー認証方法は caching_sha2_password
に変更され、 mysql_native_password
認証は使用できなくなります。 別の方法として、Azure CLI の az mysql flexible-server connect
コマンドを使用して、データベース サーバーへの接続をテストし、基本的なデータベースをすばやく作成し、 mysql.exe または MySQL Workbench をインストールせずにサーバーに対して直接クエリを実行できます。 コマンドを対話モードで実行して、一度に複数のクエリを実行することもできます。
次のコマンドを使用して、前のコマンドと同じプレースホルダー値と新しい <database-name>
値を使用してデータベースを作成し、サーバーに接続し、クエリを実行します。
データベースを作成するには、次のコマンドを使用します。
az mysql flexible-server db create \ --resource-group <resource-group-name> \ --server-name <MySQL-server-name> \ --database-name <database-name> \ --charset utf8mb4 \ --collation utf8mb4_unicode_ci
対話モードでサーバーに接続するには、次のコマンドを使用します。
az mysql flexible-server connect \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --interactive
クエリを実行するには、次のコマンドを使用します。
az mysql flexible-server execute \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --querytext "select * from table1;"
または、ファイルにクエリを配置し、次のコマンドを使用してクエリを実行することもできます。
az mysql flexible-server execute \ --name <MySQL-server-name> \ --admin-user <MySQL-user> \ --admin-password <MySQL-password> \ --database-name <database-name> \ --file-path "./test.sql"
ユニットの概要
Azure Database for MySQL - フレキシブル サーバー インスタンスを作成するコマンドについて学習しました。 次のユニットでは、Jakarta EE アプリケーションで使用するデータベースを作成して構成します。