3

私はいくつかの小規模なクライアント向けにWebサイトを開発しており、各クライアントの本番サーバーでローカルデータベースを最新の状態に保つことができるようにしたいと考えています。(毎晩更新することを考えています)データベースの多くは数百メガバイトであるため、毎晩完全なダンプを作成して転送するのは過剰だと感じています。

これが私がこれまでに思いついた頭の痛いアイデアです:

  • サーバー上にダンプを作成し、ローカルマシン上の前夜のダンプとrsyncします。それはファイルの変更されたビットだけを正しく転送する必要がありますか?

  • サーバー上にダンプを作成し、昨夜のダンプとローカルで差分します。その差だけを転送します。たぶん、元のダンプのmd5に送信することもできるので、同じベースファイルにdiffを適用していることを確認できます。

これらのサーバーの(ほとんど)へのsshアクセスを取得することは可能ですが、クライアントにそのかなり技術的な要求でホスティングプロバイダーに電話をかける必要があります。これは、私がクライアントに依頼する必要がないことです。ftp/phpを介して実装できるソリューションを提案できる場合はボーナスポイント。

編集:

@Jacobの答えは、このスレッドにつながるいくつかのさらなるグーグルを促しました:2つのMySQLデータベースを比較してください

この質問(いくつかの形式で)はかなり一般的なようです。ほとんどのニーズ、したがってほとんどのツールは、データではなくスキーマを最新の状態に保つことに重点を置いているようです。また、ほとんどのツールは商用でGUIのようです。

これまでのところ、最も見栄えの良いオプションは、Percona Toolkitのpt-table-syncのようですが、OSXでセットアップするのは面倒かもしれません。

現在、テスト用にNavicatをダウンロードしています。私はOSXで実行していますが、商用GUIプログラムです。

4

1 に答える 1

0

これを設定する最も効率的な方法は、rsync を使用してファイルをバックアップすることだと思います。rsync を使用して毎晩実行し、昨日のバックアップを今日のバックアップに同期して増分バックアップを行い、その日に rsync を実行します。さまざまな Web サイトのバックアップに関しては、サイトをスレーブとして使用し、レプリケーター機能を使用してサーバー (マスター) にバックアップすることを検討します。これにより、すべてのデータベースを最新の状態に保ち、バックアップすることができます。

http://dev.mysql.com/doc/refman/5.0/en/replication.html

于 2012-08-25T06:52:55.673 に答える