MySQL 5.6を実行しており、XtraBackup 2.4を使用してバックアップを取得しています。 600GBをはるかに超えるデータセットがあるため、同じバックアップを使用してMySQL 5.7に移行したいと考えています。
そうすることは可能ですか?XtraBackup復元を使用しているときに心配する必要がある長所と短所は何ですか?
Xtrabackupは物理バックアップツールであり、同じMySQL(またはMariaDB)バージョンにバックアップおよび復元するためのものです。マイグレーションで動作するようには設計されていません。うまくいくかもしれないし、うまくいかないかもしれない.
したがって、可能であれば、バックアップを新しいインスタンスに復元したい場合は、別のMySQL 5.6インスタンスに復元し、その後そのインスタンスを5.7にアップグレードするのが最善の方法だと思います。
MySQLの各メジャーリリースは、いくつかの点でMySQLスキーマを変更します
たとえば、私が答えた投稿( MySQLサービスはユーザーに特権を付与しようとした後に停止します )で、mysql.user
に異なる数の列があることを述べました。
更新された列数のリストは次のとおりです
このクエリを実行すると
SELECT COUNT(1) column_count FROM information_schema.columns
WHERE table_schema='mysql' AND table_name='user';
あなたは次の番号をする必要があります
MySQL 5.6バックアップをMySQL 5.7サーバーに復元すると、処理する権限の物理的な調整がずれる場合があります。
MySQLスキーマのInnoDBテーブルの数もメジャーリリース間で変化します。
Dec 09, 2017
に戻って、私は答えました エラー1031(HY000): 'proc'のテーブルストレージエンジンにはこのオプションがありません とInnoDBテーブルがMySQLスキーマで使用され始めたときに議論されました。
MySQL 5.6では、5つのテーブルでした。 MySQL 5.7では19になりました。MySQL8.0では、31のテーブルすべてがInnoDBです。
Xtrabackupが復元された直後にMyISAMからInnoDBへのテーブルの変換を実行するには、何らかのmysql_upgrade
コマンドを実行する必要がある場合があります