【はじめの一歩】OCIのMySQL Database Serviceをつかってみよう！（MDS＋Python 他①）

# はじめに
講釈よりも、とにかく触りたい・使いたい初心者向け手順書テイスト
OCIのMDSをたてて、Python等で繋げて使ってみる。
今回はVCN、Compute（Oracle Linux8）、MDS(MySQL8.0)まで。
※OCIの有償アカウントであること前提です。（30日間無料トライアルの方もOKです）
　MDS以外はAlways Free枠を使うように構成しているので、
　1日（２４ｈ）使っても４００円程度です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/26e0f44a-5efc-40a1-a18c-665a6a5df5a5.png)

***
# VCN作成
画面左上のハンバーガー、or サービスリンクから「仮想クラウド・ネットワークネットワーキング」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/911e8977-4911-d1dc-f0af-c463f4321b1b.png)

ハンバーガーをクリックした場合は、ネットワーキング→仮想クラウド・ネットワーク
![003.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/32cfa8f8-722e-fa5f-e85f-c3688f82825d.jpeg)

「VCNウィザードの起動」を選択し、画面キャプチャ通りクリック操作
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/f4466e3e-976d-f503-1de7-3fe7ef435d4a.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/d6f28de7-39dc-885d-2c7c-5324a193da90.png)

VCN名だけ入力、「次」　→　次画面で「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/431b926d-f017-a140-e7d9-94b6b1f91c97.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/4d001bcb-ac1d-bcef-0ead-847e329b9fcd.png)

左下の「仮想クラウド・ネットワークの表示」ボタンクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/53d9f470-8f7f-ef9c-e5c0-272b33edfbf9.png)

画面左下の「リソース」から「セキュリティリスト」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/f2bad6ac-75c5-b2a4-01ad-9fd0f8a4c684.png)

「プライベート・サブネット～のセキュリティ・リスト」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/044403f1-bd49-f75b-a4fa-2f90f119990d.png)

「イングレス・ルールの追加」クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/fec5ba81-071e-07c7-92d9-06f3489f07d6.png)
「ソースCIDR」：10.0.0.0/16
「宛先ポート範囲」：3306
「イングレス・ルールの追加」クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/e7f77ce2-117f-09e9-7316-e8568f60209f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/f17d3d3f-b27b-e2d8-74d9-c75cc897c427.png)

***
# コンピュート作成
画面左上のハンバーガー、or サービスリンクから「インスタンスコンピュート」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/a74cb1e5-8284-998c-5f95-b76eedf3ad5a.png)
ハンバーガーをクリックした場合は、コンピュート→インスタンス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/0f7bcd99-4406-4a4d-ff40-40ce093dac1d.png)
「インスタンスの作成」クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/309d6a89-0ef7-6879-519f-82e4580527a2.png)
「名前」に任意の名前、デフォでも良い。
「イメージとシェイプ」の「編集」クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/04e56fb2-0bfa-7877-6a91-1cb26abe10f1.png)

「Change Shape」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/a70ee002-6ca7-d918-defc-3e8a1b17ef78.png)

シェイプ・シリーズ：「Ampere」をクリック
「VM.standard.A1.Flex」のチェックボックスをクリック
「シェイプの選択」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/0868a406-6720-1b47-7b20-aed4e1afa537.png)
選択結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/97d5ec89-6d4b-1c3e-2b93-3ad84e227617.png)

「SSHキーの追加」で「秘密キーの保存」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/ddf3ad36-2b57-4696-134e-fbfcbbe78c2f.png)
画面最下部までスクロールし、画面左下の「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/384f540c-bf7f-1884-23cc-4ede11a37ff0.png)
インスタンス詳細画面に切り替わる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/5eac8322-3e1f-28a2-d213-8b070f723ec9.png)
「I」のアイコンが緑に変わったら画面下にスクロール
画面左の「リソース　- アタッチされたVNIC」をクリック
画面中央に表示された「VINICの作成ボタン」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/4333b327-7fcf-6a27-19ac-7949797f2300.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/8774e935-b775-90e7-45ef-f58b68832f9d.png)

「名前」：任意（空欄なので、何かしら入力）
「仮想クラウド・ネットワークの選択」：先ほど作ったVCN名を選択
「サブネットの選択」：プライベートサブネットを選択
「変更の保存」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/e69a8674-2c77-d193-d2aa-2ee34f2b984f.png)
作成結果を確認。作成したvnicのリンクをクリックすると詳細表示画面で自動で割振られたプライベートIPが確認可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/55179ac4-cc52-c447-6ab3-484ece15567a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/4bf154d8-8b81-828f-7ed7-e466fc7a0eb8.png)

画面上部の「インスタンスの詳細」リンクをクリックし、詳細画面の「パブリックIPアドレス」をコピーする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/0bbe891d-ea25-9379-c2c1-9ae59cb6d20f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/618fed1f-9cb1-4e4a-1224-dc2eefe7e25a.png)

***
■Cloud Shell
画面右上のアイコンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/bcaeca77-e345-db92-4809-d888a543030c.png)

Cloud Shell画面の右上アイコンで最大化をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/e9aba8a2-92a0-65d4-4acf-c695f2d901f5.png)

起動したCloud Shell画面の左上ハンバーガーボタンをクリック
「Upload」ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/34f4e036-851b-79d3-792e-276fd33700cb.png)
表示されたポップアップ画面にコンピュート作成時にダウンロードした秘密鍵ファイルをExplorerからドラッグ＆ドロップ
「Upload」ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/89aa7b30-bc3e-5cab-20d4-6fa376366541.png)
秘密鍵がアップロードが完了したら「Hide」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/9a72c174-ccd1-2f42-063f-b2063c7a7e36.png)

Cloud Shell内で以下のコマンドを実行する。コピペ可能
$ chmod 600 ssh-key*
$ ssh -i アップロードした秘密キー パブリックIPアドレス -l opc
例：$ ssh -i ssh-key-2022-05-31.key 150.230.193.122-l opc
Are you sure you want to continue connecting (yes/no)? yes
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/39c10365-56d2-3e25-bd43-a6a8b754f772.png)

■MySQL Yum リポジトリの追加
以下のURLリンクで最新のリポジトリを確認
https://dev.mysql.com/downloads/repo/yum/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/66f4cdc7-3d8f-b5c7-1b7e-bec91a891781.png)

$ sudo dnf install https://dev.mysql.com/get/最新リポジトリ -y

例：$ sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-4.noarch.rpm -y

モジュールストリームの無効化
$ sudo dnf module disable mysql -y

MySQLクライアントをインストール
$ sudo dnf install mysql-community-client -y

以降のMDS作成中にCloud Shellがセッションがタイムアウトして切れる為、先に切っておく
画面右上「×」アイコンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/b658f35f-7501-c4e7-deb3-6c3c25e6185d.png)
ポップアップ画面の「Exit」ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/fba04c0e-dd1f-7d06-25fc-193ab01b4321.png)

***
# MDS作成
画面左上のハンバーガーをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/2068d4e7-9dfa-f81f-9911-3433c5ab18a5.png)
データベース → DBシステム
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/956bda10-e898-6061-3a3d-d35daa9482aa.png)
「DBシステムの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/2d176699-fe91-541f-e1a1-8315b9be5427.png)

「名前」を任意に設定、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/065daa3a-1efe-5e6e-c2f8-9cb5e51dea90.png)
「ユーザー名」：任意
「パスワード」：任意（8文字から32文字までの長さで、大文字、小文字、数字および特殊文字をそれぞれ1つ以上含める）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/8888fd5f-e61d-59a6-417b-d01238812a52.png)

「バックアップ・プランの構成」の「自動バックアップの有効化」のチェックを外す
「作成」ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/7e0330a6-0118-9864-5594-f8534af32fe6.png)

「DBシステムの詳細」画面に切り替わる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/1fd316ec-065f-8832-9486-881334129527.png)

「DBS」アイコンが緑に変わり、作成が完了したら「エンドポイント」の「プライベートIPアドレス」を確認しコピーする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/b2f47564-99bf-6220-bc28-ff1700c76358.png)

***
■接続確認
Cloud Shellを起動し、コンピュートインスタンスにSSH接続する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/bcaeca77-e345-db92-4809-d888a543030c.png)

$ ssh -i アップロードした秘密キー パブリックIPアドレス -l opc

以下のコマンドを実行
 $ mysql -u MDSのユーザー名 -p -h MDSのプライベートIPアドレス
 例：mysql -u root -p -h 10.0.1.51
「Enter password」が表示されたらMDSのユーザーパスワードを入力
mysqlに接続したら
SHOW DATABSES;
を実行。結果が帰ってくれば成功。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/e9fdbd83-0b70-c27e-05b1-706bf8f1e9e0.png)


今回は以上です。長文お付き合い頂き、ありがとうございました。
【重要】ＭＤＳを使わないのであれば、停止する、もしくは削除するのを忘れずに
　　　　停止だけだと、ストレージは月単位で課金されます。
***
# お片付け
■停止
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/22244d0a-4c02-0cf8-6865-d042342e75ef.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/648f519f-692d-ed53-af4b-ea61c0a5f99b.png)


■削除
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/17b4069b-4104-e5e0-f8b2-ab4fff5cc50d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699246/18c23a69-80fa-3dc3-fb7c-9d7317ee8104.png)