sql >> データベース >  >> RDS >> Mysql

2つのリモートデータベース間でMySQLデータベースを同期する方法(MySQLデータベースレプリケーション技術なし)

    質問がすべてを同期するように述べているように あるサーバーから別のサーバーへのデータについては、 mysqldumpを含む比較的単純なソリューションを使用できると思います。 。

    これはすべて専用サーバーから実行できると思います:

    mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql
    

    を置き換えます 、<パスワード><ポート> および サーバー1の接続の詳細を使用します。サーバー2にコピーするサーバー1のデータベースの名前に置き換えます。すべてのデータベースをコピーする場合は、-all-databasesオプションに置き換えます。

    これにより、 dump.sqlというファイルが作成されます 現在のディレクトリにあります。次に、これをサーバー2にロードできます:

    mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql
    

    を置き換えます 、<パスワード><ポート> および サーバー2の接続の詳細を示します。

    これにより、dump.sqlファイルが取得され、サーバー2のデータベースにロードされます。これにより、サーバー2のデータベースが削除されるため、既存のすべてのデータが dump.sqlのデータに置き換えられます。 。

    mysqldumpのオプション(ドロップデータベース、ドロップテーブルなど)を確認し、状況に合わせて上記のコマンドを調整します。正しく接続すれば、中間ファイルをバイパスして、サーバー1のmysqldumpをサーバー2のmysqlにソケットを使用して接続することもできると思います。

    この質問の「自動化された」部分をカバーするために、上記のコマンドをcronで実行し、毎月1日の適切な時間に実行するようにスケジュールすることができます。



    1. mysqlで緯度と経度を使用して2点間の距離を検索します

    2. MySQLdbが実行する実際のクエリを出力しますか?

    3. MySQL接続が失われました:システムエラー:110

    4. phpユーザーIDの割り当てが機能しない