AWS
We will perform the initial settings for using a MySQL database with AWS RDS (Relational Database Service).
AWSのRDSでMySQLを使ってみる
AWSのRDS (Relational Database Service) でMySQLデータベースを使用するための初期設定を行っていきます。
- RDSの初期設定を行う
- MySQL Workbenchをダウンロードする
- MySQLデータベースに接続する
- Schema(スキーマ)を作成する
- Table(テーブル)を作成する
- テーブルにデータを作成する
- SQL文を使ってみる
RDSの初期設定を行う
RDS ダッシュボードにアクセス
AWS Management Consoleにログインしたら、画面左上の「サービス」から「RDS」を選択して、RDSダッシュボードにアクセスします。
「サービス」→「データベース」→「RDS」とメニューをたどっていっても見つかると思いますが、検索窓に「rds」と打つとすぐに見つかると思います。
データベースの作成
RDSダッシュボードで「データベースの作成」ボタンをクリックします。
データベースの設定を選択
ここでは、とりあえず使えるようにしたいので、必要最小限の設定を行います。
データベースの作成方法を選択
おそらく最初から「標準作成」にチェックが入っていると思いますが、間違いないか確認します。
エンジンのオプション
- エンジンのタイプ
- 「MySQL」を選択します。
テンプレート
「無料利用枠」を選択します。
設定
- DB インスタンス識別子
- このデータベースの名前になります。一意(対応するものが一つだけであること=同じ名前は使えない)となるよう設定してください。
- マスターユーザー名
- これがデータベースにログインする際の ID となります。忘れない名前に設定してください。
- マスターパスワード
- このデータベースにログインする際のパスワードになります。忘れないようにメモしておきましょう。
- マスターパスワードの確認
- マスターパスワードの確認です。マスターパスワードを再入力してください。
インスタンスの設定
- DB インスタンスクラス
- 「バースト可能クラス(tクラスを含む)」を「db.t2.micro」に変更します。
ストレージ
- ストレージの自動スケーリング
- 「ストレージの自動スケーリングを有効にする」チェックを外して、無効にします。
接続
- パブリックアクセス
- 「なし」にチェックが入っていると思いますので、「あり」に変更します。これをしておかないと自分のデバイスからのアクセスができなくなってしまいます。
すべての設定を見直した後、「データベースの作成」をクリックして、プロセスを完了します。
データベースが作成されると、RDSコンソール上でステータスが「利用可能」になるまで数分待ちます。その後、エンドポイントとポートを使用してアプリケーションやツールからデータベースに接続できます。
MySQL Workbenchをダウンロードする
データベースインスタンスの作成が完了し、状態が [利用可能] になったら、標準 SQL クライアントを使用して DB インスタンスのデータベースに接続できます。このステップでは、一般的な SQL クライアントの MySQL Workbench をダウンロードします。
「MySQL Workbench のダウンロード」ページに移動し、MySQL Workbench のダウンロードとインストールを行います。
※注意※ MySQL Workbench は、DB インスタンス作成に使用したのと同じデバイスから使用してください。データベースに設定されたセキュリティグループは、DB インスタンスを作成したデバイスからの接続のみ許可するよう設定されています。
「Download」をクリックすると、ログイン、サインアップ、またはダウンロード開始の指示があります。すぐにダウンロードするには、「No thanks, just start my download.(いいえ、ダウンロードを開始します)」 を選択します。
ダウンロードしたファイルをダブルクリックしてインストールを進めてください。「Complete」を選択し、すべてのプログラムをインストールしてください。
MySQLデータベースに接続する
上記でインストールした MySQL Workbenchを使用して、作成したデータベースに接続します。
MySQL Workbenchアプリケーションを起動し、メニューバーから [データベース] > [データベースに接続] (Ctrl+U) に移動します。
もしくは「MySQL Connections」と書いてある右側にある + マークをクリックしても同じ画面が表示されます。
ダイアログボックスが表示されますので、次の項目を入力します。
- Connection Name
- この接続設定に名前をつけます。わかりやすい名前を設定しましょう。
- Host Name
- 作成したデータベースのエンドポイントをコピペします。
- Port
- 初期設定で 3306 になっていると思いますが、作成したデータベースのポートと同じであることを確認してください。
- Username
- 作成したデータベースのマスターユーザー名を入力します。
各項目の入力が完了したら「Test Connection」をクリックすると、パスワードを入力するダイアログが表示されるので、作成したデータベースのマスターパスワードを入力して「OK」をクリックしてください。
「Successfully made the MySQL connection」と表示されれば接続成功です。
接続が成功すると、データベースの編集画面が表示されると思います。
Schema(スキーマ)を作成する
- 「Create a new schema in the connected server」というボタンをクリックする。
- 「Name」には、登録したいスキーマの名前を入力。どんなデータベースなのかわかりやすい名前を付けておきましょう。
- 「Charset(文字セット)/Collation(デフォルトの照合順序)」には、それぞれ utf8 / utf8_general_ci を選択します。
- 入力と選択が終了したら、画面右下の「Apply」をクリックします。その後のダイアログボックスでも、「Apply」→「Finish」とクリックしていきます。
Table(テーブル)を作成する
- 先ほど作った Schema(スキーマ)を展開して、「Tables」を右クリックして、「Create Table」をクリックします。
- 「Table Name」にテーブルの名前を入力します。このテーブルがどんな内容なのかわかりやすい名前をつけましょう。
- 「Charset/Collation」には、それぞれ utf8 / utf8_general_ci を選択します。
- 「Engine」には、最初から「innoDB」が入っていると思いますが、確認してください。
- 「Column Name」に追加したいデータの名前を入力する。
- 「Datatype」にデータの型を選択する。
- 必要であれば PK/NN/UQ/B/UN/ZF/AI/G などの設定を行う。
- 入力が完了したら、画面右下の「Apply」をクリックします。
- その後のダイアログボックスでも「Apply」→「Finish」とクリックしていきます。
ここでは、id と name 2つのカラムを作りました。1つ目の id を入力したときに PK と NN に勝手にチェックが入りましたが問題ないのでそのままにしておきます。その他の項目についてもここではそのままにしておきます。
それぞれの項目については、「MySQLでテーブルを作成する」でご確認をお願いします。
テーブルにデータを作成する
- 作成したテーブルにカーソルをあわせるとアイコンが現れますので、一番右のアイコンをクリックします。
- 「From Editor」をクリックする。
- 作ったデータ枠にそれぞれの項目を入力する。
- 「Apply」をクリックして登録する。
- その後のダイアログボックスでも「Apply」→「Finish」とクリックしていきます。
- さらにデータを追加する場合は、「Add a new row to the recordset.」をクリックします。
必要なデータを入れ終わったら、「Result Grid」をクリックして確認します。
ここでは下記のような3件のデータを入れました。
1 | 佐藤 優花 |
2 | 高橋 浩司 |
3 | 伊藤 美咲 |
SQL文を使ってみる
SQL文を使って、データを確認してみます。
「Result Grid」をクリックした時点ですでに SQL文が表示されていると思います。
SQL
SELECT * FROM new_schema.new_table;
これは、「new_schema」スキーマの「new_table」テーブルから「*(すべて)」を取得するという指示になります。
特定のデータを取得したい場合は、この指示を書き換えます。
SQL
SELECT name FROM new_schema.new_table;
ここでは、「*(すべて)」を「name」に書き換えてみました。指示を書き換えたら、「Excute the selected portion of the script or everything, if there is no selecction」と表示されるカミナリマークのようなボタンを押すと指示が実行され、「name」だけが表示されます。
今度は、すべてを表示する SQL文の後ろに「WHERE id = 2」を追記して、id が 2 のレコード(データ)のみを表示してみました。
SQL
SELECT * FROM new_schema.new_table WHERE id = 2;