AmasonRDSにMysql環境を構築(無料利用枠)してみました。
あと、はまった内容も載せています。
こんな人にはいいかも?
・自分のパソコンにインストールしたくない。
・パソコンが壊れた場合、リカバリ作業をしたくない。
・別のパソコンと共有したい。
・お金を使いたくない。
・大容量じゃなくても大丈夫。
・一時的(1年以内)な利用で大丈夫。
忙しい方は、以下の項をどうぞ。
・3.セキュリティグループの作成
・7.パラメータグループの作成
・9.再度データベースの作成
参考
手順
1.データベースの作成
「Amazon RDS」→「データベース」→「データベースの作成」
2.データベースの作成
「ステータス」が「利用可能」になるまで待ちます・・。5~10分位だった気がします。
3.セキュリティグループの作成
「amazon EC2」→「セキュリティグループ」
「セキュリティグループの作成」を選択
「セキュリティグループ名」「説明」を入力。(何でもよい)
「インバウンドルール」に「ルールを追加」で、ポートを「3306」、アクセス許可するIPアドレスを指定します。
4.セキュリティグループの適用
対象のデータベースを選択して、「変更」
5.接続確認
・「ホスト名」は、エンドポイント
・ユーザID、パスワードは「1.データベースの作成」より。
エンドポイント
「amazonRDS」→「データベース」→作成したデータベースのリンクをクリック
パスワードを忘れた場合
上記の「4.セキュリティグループの適用」の手順を行い、
「セキュリティグループ」ではなく、「新しいマスターパスワード」を設定してください。
接続できなければ、再度、1~4の手順をやり直してみてください。。
6.Mysqlの設定(大文字・小文字区別)
テーブルを作成して、クエリを実行してみる。
select COUNT(*) from USER_MST
こんなエラーが表示される。。
# 42S02Table 'xxxxxx.USER_MST' doesn't exist
「USER_MST」というテーブルが無い・・・?
A5SQLを見てもあるんだけど・・。
テーブル名を小文字にすると、問題無し。。
select COUNT(*) from user_mst
原因は、「大文字・小文字」の区別が有効になっているからの模様。
以下、公式より。
9.2.2 識別子の大文字と小文字の区別
7.パラメータグループの作成
通常であれば「my.cnf (linux) / my.ini (windows) 」の値を書き換えればよいのですが、
amazonRDSの場合は、「パラメータグループ」の書き換えになります。
「パラメータグループの作成」
「パラメータグループファミリー」→「mysql8.0」
「グループ名」「説明」に入力(なんでもよい)
最後に「作成」
「lower_case_table_names」で絞り込んで、パラメータの値を「1」にする。
最後の「変更の保存」
8.DBパラメータグループの適用
上記「4.セキュリティグループの適用」の手順を行い、
「セキュリティグループ」ではなく、「DBパラメータグループ」を作成した内容に変更。
で、ここではまる。。。
「すぐに適用」、「DBインスタンスの変更」をしようとすると・・・
The parameter value for lower_case_table_names can't be changed for MySQL 8.0 DB instances
ググってヒットした記事↓
Amazon RDS における MySQL の既知の問題と制限
「Amazon RDS DB インスタンスに使用する MySQL のパラメータの例外」の項を読んでも問題なさそうだけど・・。
再起動してみよう!
変更を破棄して、「停止」→「再起動」
Can only reboot db instances with state in: available, storage-optimization, incompatible-credentials, incompatible-parameters. Instance database has state: stopping
「停止」後、起動できなくなる。。。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-incompatible-parameters/
https://qiita.com/matsumoto_sp/items/4808576159c92f8916f5
「リセット」かサポート問い合わせ・・?
めんどくさそう。。
9.再度データベースの作成
データベースを最初から作りました。
※Mysqlのバージョンがたまたま悪かったのかと思い、「8.0.20」にしています。
赤枠がデフォルトからの変更点です。
※「3.セキュリティグループの作成」「7.パラメータグループの作成 」で
既に「セキュリティグループ」と「パラメータグループ」を作成済みなので、他に操作は必要ありません。