MySQLのバージョンアップをmysqldumpでやると面倒なので--grantsをつけてみる

こんにちは、DBAのたなかです。
過去のバージョンからMySQL 5.6へのバージョンアップはmysqldump推奨ですが、そうでなくても(複数のメジャーバージョンをまたいだバージョンアップとか)mysqldumpを使わなければならないケースはたまにあります。
…これ、面倒じゃないですか? あ、いや、時間がかかるから面倒っちゃ面倒なんですが、個人的にmysqlスキーマ周りがすごく面倒で。
- 前提として、(--single-transaction || --lock-all-tables) && --all-databases && (--master-data || --dump-slave)でやってます。
- --skip-add-drop-table しておかないとmysqlスキーマ内のテーブルを容赦なくDROPされて再作成されるので、バージョン間でカラムの数が変わったりしていると困る(たまにやる)
- だから--events, --triggers, --routinesみたいに--grantsでGRANT文を打ち込んで欲しい。
- ついでに言うなら、--events, --triggers, --routines, --grantsが揃っていればmysqlスキーマは除外してほしい(とするとINSTALL PLUGINを吐くオプションとCREATE SERVERを吐くオプションも必要か)
mysql.pluginは手で打つ、mysql.serversはまず使っていないとして、取り敢えず--grantsを実装してFeature Requestとして上げてみました。--events(使ってないけど) && --triggers && --routines && --grantsで打ち込んでから、ダンプファイルのmysqlスキーマの部分をごっそり削り取ってから流しています。
取り込まれる見込みが非常に薄い(と思っている)んですが、もしよければ"Affects Me"ください。。