-2

PHPとMysqlを使用してWebベースのアプリケーションを開発しています。ご存知のように、Webインターフェイスを使用して巨大なDBをバックアップするには制限があるため、次の条件で巨大なDBをバックアップするソリューションが必要です。

  1. このプロセスはWebインターフェイスなしで実行でき、コマンドラインで実行する必要があります(Linuxサービスなど)

  2. プロセスはサーバーリソースの使用を最小限に抑える必要があります(つまり、バックアッププロセスの実行中、クライアントはサーバー上のサービスを使用できます)

  3. 一部の機能は重要であり(バックアップ、復元、圧縮、分割バックアップファイルなど)、一部の機能はオプションです(たとえば、メーリングやFTPなど)。

  4. スクリプトはPHPまたはPerlで記述している必要があります。

何かアイデアはありますか?

4

4 に答える 4

2

コマンド ライン バックアップについては、 mysqldumpを参照してください。

完全なデータベース バックアップの場合:

mysqldump -u ユーザー名 -p DB_NAME > DB_NAME.sql

データベースが巨大で、完全なデータベースのバックアップを取りたくない場合。単一/複数のテーブルのみをバックアップできます

mysqldump -u USER_NAME -p DB_NAME TABLE_NAME > TABLE_NAME.sql

于 2012-07-16T12:22:48.967 に答える
1

2 番目のサーバーへのレプリケーションのセットアップを検討したい場合、ライブ バックアップがあり、古いバックアップを保存したい場合は、2 番目のサーバーのリソースを使用して thous を作成できます。

于 2012-07-16T12:31:26.973 に答える
1

スクリプトを作成することはまったく避け、MySQL に組み込まれているツールを使用するだけです。mysqldump に関するすばらしいチュートリアルを次に示します。

http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

于 2012-07-16T12:21:07.360 に答える
0

nice を使用して php スクリプトを実行します。値が 19 の場合、プロセスの優先度が非常に低くなります。

nice -n 19 php /path/to/backupscript.php
于 2012-07-16T12:20:59.947 に答える