バージョンの違うMySQLでmysqldumpエラーを防ぐ

mysqldumpでバックアップしたデータベースを、バージョンの違うMySQLサーバでリストアしようとしたら
シンタックスエラーで停止してしまうことがあります。

mysqldumpは、MySQLのバージョンが変わるとバージョンによっては互換性が失われることがあリます。
その場合は、古い環境に互換性のある形式でdumpし直すと解決できます。

ANSI形式でmysqldumpする

コマンドラインの場合

–compatibleは、古い MySQL サーバーやほかのデータベースシステムとの互換性がより高い出力を生成するオプションです。
ANSIで出力する場合は、このように指定します。

$ mysqldump -u root --compatible=ansi 【データベース名】 > 【ファイル名(パスも含む)】;

参考:
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.4 mysqldump — データベースバックアッププログラム

phpMyAdminの場合

エクスポートで
「Export method」の「詳細 – 可能なオプションをすべて表示」を選択すると
たくさんの項目が表示されます。

その中の「フォーマット特有のオプション」にある
「他のデータベースシステムまたは古いMySQLサーバとの互換性」で「ANSI」を選択してエクスポートを実行すると
互換性のあるsqlを作成できます。

mysqldump-different-version-phpmyadmin

関連記事

Pocket