MySQL 5.5 データベースを別のコンピュータに手動でコピーする
P粉588152636
2023-09-05 00:16:59
<p>私の会社では、バックエンド データベースとして MySQL 5.5 を使用する製品を使用しています。製品は、インストール中に MySQL を自動的にインストールして構成します。本製品はホットスタンバイ冗長構成で動作するように設定できます。このような場合は、2 台の別々のサーバーで同じインストール プロセスを実行し、製品の初期構成時に冗長モードを選択します。この製品は、データベース データを内部的にコピーし、2 つのデータベースの同期を維持するすべてのプロセスを処理します。 MySQL は冗長性設定について知っています。 MySQL は両方のサーバーの同じ場所に同じようにインストールされ、同じ構造を持ちます。この製品には、必要なときに大規模なデータベース (例: 300G サイズの 3K テーブル) をプライマリ サーバーからバックアップ サーバーに同期するための非常に洗練された/効率的な方法がありません。たとえば、単一サーバーから冗長システムを作成する場合や、いくつかのサーバーで実行されている場合などです。時間マスターサーバー構成。私の質問は次のとおりです。 </p>
<p>MySQL のインストールが両方のサーバーで同一であることを考慮すると、データベース/ファイルをプライマリ サーバーからバックアップ サーバーに手動でコピーする安全でサポートされている方法はありますか?ところで、これは運用 Windows サーバー上にあります。データベースをメイン データベースから完全にエクスポートして BU サーバーにインポートできることはわかっていますが、それには数時間かかる可能性があります。あるサーバーから別のサーバーにファイルをコピーする、より高速な方法がサポートされていればよかったのですが、これを調査していると、矛盾する情報が見つかりました。 </p>
<p>システム情報
ウィンドウズ
MySQL 5.5
インストールは両方のサーバーで同じです
「C:\ProgramData\MySQL\MySQL Server 5.5\data」
イノベーションデータベース
テーブルごとのファイル数 = true</p>
<p>ご提案をいただきありがとうございます。 </p>
<p>すべての革新的なデータベース テーブル ファイル「C:\ProgramData\MySQL\MySQL Server 5.5\data\Mydbase」を含むデータベース フォルダをあるサーバーから別のサーバーにコピーしようとしたことがありますが、mysql は起動しませんでした。アップしましたが、エラーがありました。</p>
はい: 両方のコンピューターで MySQL Server サービスをシャットダウンします。その後、datadir 内のファイルを任意の方法で移動できます。ただし、これにより、ファイル転送中にダウンタイムが発生します。
ダウンタイムがあってはならない場合は可能ですが、より多くの手順が必要です。
私が行ったのは、Percona XtraBackup を使用してソース インスタンスの物理バックアップを作成することでしたが、Windows を使用しているため、これは簡単ではありません。 XtraBackup は Windows では使用できません。 Windows 上でトリックDockerコンテナを使用する人もいます。
次に、XtraBackup を通常の方法で新しいマシンに復元し、ソース インスタンスのコピーとして構成します。 https://docs.percona.com/percona-xtrabackup/8.0 /howtos/setting_up_replication.html
を参照してください。新しいインスタンスをレプリカにすると、レプリカのセットアップ時にソース インスタンスで発生した最新の変更に基づいてインスタンスを更新できます。
その後、ある時点で新しいインスタンスに切り替えることにしました。次に、ソース インスタンスを読み取り専用モードに設定して、クライアント アプリケーションが新たな変更を加えないようにします。レプリカが最後の最終変更に追いつくようにします (レプリカがすでに変更に追いついていれば、これには 1 秒しかかかりません)。以前のソースの代わりにコピーを使用するようにクライアント アプリケーションを変更できるようになりました。次に、RESET SLAVE を使用して、新しいインスタンスのレプリケーションの構成を解除します。以前のソースでこれ以上変更が発生し、新しいインスタンスにレプリケートされることは絶対に避けたいためです。
この手順を試す場合は、ツールに慣れるまで (本番インスタンスではなく) テスト インスタンスでテストすることをお勧めします。
追記: Windows をサポートしていないだけでなく、XtraBackup の現在のバージョンが MySQL 5.5 で動作するかどうかもわかりません。このバージョンは 2010 年にリリースされ、2018 年に廃止されました。したがって、どのバージョンの XtraBackup が MySQL 5.5 インスタンスを読み取ることができるかを調査する必要があると思います。古いバージョンの XtraBackup を使用する必要がある場合があります。