1
1

More than 3 years have passed since last update.

[OCI] MySQL Database Service(MDS) を初めて使ってみる

Posted at

はじめに

実はこれまで MySQL Databese を使ったことがありません。昔々 Oracle Database を使ってアプリ開発をしたことがあるので、データベースを少し触ってテストデータを作成したり、JDBCドライバーを設定したり、SQLでデータ呼び出したりした経験はありますが、データベースは全くもって詳しくないです。

この度OCIで提供されたMySQL Database Service(以後 MDS) はPaaSでのサービス提供なので構築も簡単そうです。MDSの勉強も兼ねて環境構築して使ってみたいと思います。

構築環境および前提

  • MDSはOCIのプライベート・サブネットに構築します。
  • MDSへはパブリック・サブネットの踏み台サーバーから接続を試みます。踏み台サーバーは既に構成済みのものを使用します。
  • 仮想クラウド・ネットワーク(VCN)も既存設定済みのものを使用します。 image-20210819101455115.png

1. MDSの作成

OCIにサインイン後、左上のナビゲーションメニューから[データベース]-[MySQL]を選択し、MySQL DBシステムの作成 をクリックします。

image-20210817105353920.png
作成に必要な情報を入力していきます。
image-20210817112032757.png
[コンパートメントに作成] 任意のコンパートメントを指定します。
[名前] 任意の名前を指定します。例)mysql01
[スタンドアロン] を選択。今回は単体のMDSを作成します。

続けて、
image-20210819103154875.png
管理者資格証明の作成
[ユーザー名] root とします。
[パスワード] 任意のパスワードを指定します。

ネットワーキングの構成
[仮想クラウド・ネットワーク] 既存の仮想クラウド・ネットワークを選択。例)osaka-vcn
[サブネット] プライベート・サブネットを選択します。

image-20210817113058257.png
配置の構成
[フォルト・ドメインの選択] 任意のフォルト・ドメインを選択します。

ハードウェアの構成
[シェイプの選択] 希望するシェイプに変更します。単にテスト用途なのでデフォルトの最小構成のままとします。
[データ・ストレージ・サイズ(GB)] こちらもデフォルト値のままとします。

image-20210817113232892.png
バックアップ・プランの構成
[自動バックアップの有効化] 有効化のまま。他の設定もデフォルトのままとします。
作成 ボタンをクリックして、MDSを作成します。

しばらくすると、MDSが作成されました。
image-20210817113513728.png
ページ左下のリソースにて、エンドポイントをクリックして、作成されたMDSのエンドポイントを確認しておきます。これらの値は後段のセキュリティリストの設定やMDSへの接続に使用します。
image-20210817105559197.png

2. セキュリティリストの設定

MDSに接続するためには仮想クラウド・ネットワークのセキュリティ・リストのイングレス・ルールでMDSと通信するための TCP/IP 3306ポートの通信を許可しておく必要があります。

ナビゲーションメニューから[ネットワーキング]-[仮想クラウド・ネットワーク]を選択し、作成済みの仮想クラウド・ネットワーク(例)osaka-vcn)をクリックします。
image-20210817105611494.png
ページ左下のリソースにて、セキュリティ・リストをクリックして、プライベート・サブネットのセキュリティ・リストをクリックします。続けてイングエス・ルールの追加をクリックします。
image-20210817105632284.png
イングレス・ルールを追加します。
image-20210817105639841.png
仮想クラウド・ネットワーク(osaka-vcn)からポート3306(MDS) への接続を許可します。
[ソースCIDR] 192.168.0.0/16 と入力します。
[宛先ポート範囲] 3306 MDSのポートを指定します。

イングレス・ルールが追加されました。
image-20210817105653442.png

3. MySQLクライアントのインストール

既に作成している踏み台サーバーからMDSへの接続を試みるため、踏み台サーバーにMySQLクライアントをインストールします。踏み台サーバーの設定については、以下が参考になるかもしれません。

[OCI] 踏み台サーバーからSSHでプライベート・サブネットのインスタンスへの接続と、NATゲートウェイを試してみる
https://qiita.com/cocotaro0202/items/7b115b108bb9f03b90a6

踏み台サーバーの起動とパブリックIPアドレスを確認し、Windows PowerShell 及び Tera Term などのターミナルから踏み台サーバーに接続します。

ssh -i ~/.ssh/id_rsa opc@168.138.XXX.XXX

踏み台サーバーで次のコマンド操作を実行して、MySQLクライアントをインストールします。

sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql

詳細は、巻末の参考URL「その9 - クラウドでMySQL Databaseを使う」4.MySQLクライアントのインストールもご覧ください。

4. MDSへの接続確認

踏み台サーバーでMySQLクライアントのインストールが完了したので、踏み台サーバーからMDSへの接続を試みます。MDSを作成した時のユーザー名、エンドポイントのホスト名を指定します。

  • ユーザー名:root
  • ホスト名:例)TestMDS.sub03060550521.osakavcn.oraclevcn.com
mysql -u root -p -h TestMDS.sub03060550521.osakavcn.oraclevcn.com 

MDS作成時に指定したパスワードを入力し、その後 mysql プロンプトが表示され、無事MDSへの接続に成功することができました。
image-20210819131929003.png
MDSへの接続は以上で完了ですが、データも入れてSQLを実行したいので、巻末の参考URLの書籍に添付されたいたサンプルデータを投入してみます。

mysql -u root -p -h TestMDS.sub03060550521.osakavcn.oraclevcn.com < term3.sql

データベース一覧を参照すると、サンプルデータベース(term03db)が投入されたことが確認できました。
image-20210819133328333.png
さらにサンプルデータベースを選択し、テーブル一覧を表示します。
※ stations テーブルはJRの駅名情報を格納しているテーブルです。
image-20210819133811297.png
あとは適当に SELECT 文を発行してサンプルデータを参照できたので、MDSの動作確認としては以上で終了とします。
image-20210819134220673.png

MySQL初心者にも簡単にMDSを構成し使用することができました。最近MDSでは高可用性機能がリリースされたので、継続してこれらも試せたらと思います。

参考URL

その9 - クラウドでMySQL Databaseを使う
書籍:15時間でわかるMySQL集中講座

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1