【2014/03/19 11:13修正】
1) performance_schemaが使えない
【2014/03/19 11:27修正】
少なくとも5.6.16ではmysql_upgradeがよしなにやってくれているぽい。5.6.13で失敗したことがあったので
2) TIMESTAMP, DATETIME型の方データ構造が微妙に変わっている
少なくともリファレンスマニュアル上でmysqldumpを推奨している理由についてリストアップされているのがこれ。マイクロ秒対応とかエンディアンが変わったとかパディング方式が変わったとか色々あるけれど、ただ使う分には問題なさげに動く。例外は、「マスターはmysql_upgradeでアップグレードしたけど、スレーブはmysqldumpからリストアして構築した」もしくは「マスターはmysqldumpでアップグレードしたけど、スレーブはmysql_upgradeでアップグレードした」、かつ「バイナリーログがROWモードで記録された」場合。
これだと、マスターで記録された型情報とスレーブで再生されようとする型情報に不整合が発生するので、
mysql56> SHOW SLAVE STATUS\G .. Last_SQL_Errno: 1677 Last_SQL_Error: Column 0 of table 'd1.t2' cannot be converted from type 'datetime' to type 'datetime' ..
こんな訳のわからない(datetime型からdatetime型への変換に失敗した)エラーでSQLスレッドが転ける。STATEMENTモードでは影響を受けないが、binlog_format= MIXEDでROWモードにフォールバックするようなクエリーが流れているとこれの直撃を食らう。
これは憶えておいた方がいいかも。
0 件のコメント :
コメントを投稿