MySQLの移行話的なアレでdefault_storage_engineはいつからInnoDBだった?と思って調べたので備忘録を。
ここのサーバパラメータのマニュアルをみると、、
https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_default_storage_engine
何も設定しないとMyISAMだったのは5.5.4以下、何も設定しなくてもInnoDBでRDSにそのまま投げ込めるのが5.5.5以上、5.5.2以前だと名前にdefaultがつかない、ということでした。以上、だと物足りないのでもうちょっと失礼。
つまり/etc/my.cnfに
default-storage-engine=innodb
と書いてない5.5.4以下はストレージエンジンがMyISAMになってる。
MyISAMになってるとクラッシュリカバリがのるかそるかでバックアップがトランザクションでとれないので共有ロックしてからとらないといけないなどがDBA的にはアレでプログラマ的にはトランザクション使わないからエラー処理が適当で大丈夫だったけどInnoDBにする場合にそこをなおさないといけないかもやAUTO INCREMENTやPRYMARY_KEYからめた挙動が違うという話が。
という様な色々を以下の2つの記事が詳しく載せてるので必要な方はぜひどうぞ。
MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio
漢(オトコ)のコンピュータ道: MyISAMからInnoDBへ切り替えるときの注意点
上記事内でSennaとある全文検索エンジンはTritonn→Groonga→Mroongaというように変化したようです。
http://mroonga.org/ja/
InnoDBのメリットやベストプラクティスなどが以下リンク先公式サイトにかかれている。
https://dev.mysql.com/doc/refman/5.6/ja/innodb-default-se.html
あと、RDS側のベストプラクティスや制限事項など。
要はストレージエンジンはInnoDBしか使えないです。
(どうしてもという場合は自前でEC2を用意して冗長構成組むほか全部自前)
Amazon RDS のベストプラクティス - Amazon Relational Database Service
Amazon RDS における MySQL の既知の問題と制限 - Amazon Relational Database Service
その他のサポートされてない機能は以下のとおり書いてありました。
- グローバルトランザクション ID
- トランスポータブルテーブルスペース
- 認証用プラグイン
- パスワード強度用プラグイン
- レプリケーションフィルタ
- 準同期レプリケーション
Amazon RDS での MySQL - Amazon Relational Database Service
ちなみに現在のパラメータがどうなってるかは/etc/my.cnfみるかshow global variables like 'default%storage%engine';
かshow engines;
と打つとわかるのと、各テーブルの値をみるには、show table status\G
かselect table_schema, table_name, engine from information_schema.tables where table_schema not in('sys','performance_schema','information_schema');
あたりでいいのかな。
あとはRDSの権限まわりの特権ユーザつくる場合にdbschema.table
のとこが*.*
だと無理で%.*
になるなど。
http://www.fidian.com/problems-only-tyler-has/using-grant-all-with-amazons-mysql-rds
移行データ量の見方は以下リンク先のようにselectしたり
https://qiita.com/ikenji/items/b868877492fee60d85ce
もっとザックリだとdu -sh /var/lib/mysql
でデータディレクトリ(/etc/my.cnfみてdatadirで指定されてる場所、psで起動プロセスにオプションついてるやつみてもわかる)のサイズをはかる(データファイルだけでなくバイナリログも入る)なども。
サポート期間についてちょっと調べたので追記
https://www.mysql.com/jp/support/
https://www.oracle.com/us/assets/lifetime-support-technology-069183.pdf
Release | GA Date | Premier Support End | Extended Support End | Sustaining Support End |
---|---|---|---|---|
MySQL Database 5.0 | Oct 2005 | Dec 2011 | Not Available | Indefinite |
MySQL Database 5.1 | Dec 2008 | Dec 2013 | Not Available | Indefinite |
MySQL Database 5.5 | Dec 2010 | Dec 2015 | Dec 2018 | Indefinite |
MySQL Database 5.6 | Feb 2013 | Feb 2018 | Feb 2021 | Indefinite |
MySQL Database 5.7 | Oct 2015 | Oct 2020 | Oct 2023 | Indefinite |
RDS側のサポートバージョン
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt
セキュリティ対応的なバージョンアップ告知がこんな感じでたまにあったりなど。
https://aws.amazon.com/jp/blogs/news/amazon-rds-mysql-56x-minor-version-announce/
ひとまずこのへんで失礼します