内部サーバーとWebホスティングサーバーに2つの同一のMySQLデータベースがあります。内部サーバーのデータベースを使用して、毎日Webホストのデータベースを更新したい。このプロセスを自動化する方法はありますか、これを手動で行う方法はありますか?手動で行う場合、内部サーバー上のデータベースのSQLダンプを取得してから、Webホスト上のデータベースにインポートする必要がありますか?誰かアドバイスしてください。
内部サーバーとWebホスティングサーバーに2つの同一のMySQLデータベースがあります。内部サーバーのデータベースを使用して、毎日Webホストのデータベースを更新したい。このプロセスを自動化する方法はありますか、これを手動で行う方法はありますか?手動で行う場合、内部サーバー上のデータベースのSQLダンプを取得してから、Webホスト上のデータベースにインポートする必要がありますか?誰かアドバイスしてください。
回答:
いくつかのオプションがあります:
サーバー間のMySQLレプリケーションをセットアップします。内部サーバーはマスターとして、Webホストサーバーはスレーブとして機能できます。マスターで実行された更新は、すぐにスレーブに複製されます(接続が機能していると仮定)。これはおそらく最も簡単で効果的な選択オプションです。レプリケーションを使用するには、Webホストからネットワーク経由で内部データベースにアクセスできる必要があります。
レプリケーションの詳細については、こちらをご覧ください。
毎日、内部サーバーでmysqldumpを実行し、Webホストにダンプファイルをアップロードして、データをインポートできます。これは完全なダンプであるため、非常に大きなデータベースがある場合、これは実行不可能な場合があります。必要に応じて、この手順を手動で実行する必要がないようにスクリプト化することができます。
内部サーバーでバイナリロギングを設定できます。その後、バイナリログをWebホストに送信してデータベースに適用し、その日に発生したすべてのトランザクションをWebサーバーで効果的に再生できます。実際、これはレプリケーションで発生することであるため、ほとんどの場合、このオプションの代わりにレプリケーションをセットアップします。
2つのデータベース間に接続がない場合、毎日mysqldumpを取得するのが最も簡単な方法です。
2つのデータベースの同期に役立つsymmetricDSなどのオプションも使用できます。これにより、インターネット帯域幅を節約できるように、同期する必要があるテーブルを選択できるようになります。これは、2つの場所間に接続性がない場合のシナリオにも適しています。
MariaDBでデータベース複製をセットアップする方法: https : //www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/