0

現在、mysqldump プログラムを使用してバックアップを作成しています。以下は、実行方法の例です。

mysqldump --opt --skip-lock-tables --single-transaction --add-drop-database 
--no-autocommit -u user -ppassword  --databases db > dbbackup.sql

私は 1 日を通してデータベースに対して多くの挿入と更新を実行していますが、このプロセスが開始されると、挿入と更新が非常に遅くなる可能性があります。(例: テーブルがロックされている)、または挿入や更新に影響を与えないようにバックアップ プロセスを改善する方法はありますか?

ありがとう。

4

2 に答える 2

0

--skip-lock-tables を使用しても、mysqldump はすべてのテーブルで READ ロックを発行して一貫性を維持します。mysqldump を使用すると、常にデータベースがロックされます。mysql のホット バックアップを実行するには、スレーブをセットアップするか (コストがかかります)、Percona Xtrabackup ( http://www.percona.com/software/percona-xtrabackup )などの専用ツールを使用する必要があります。データベースがinnoDBの場合(スレーブ上で問題なくテラバイトのデータにxtrabackupを使用します。データベースがそれほど大きくない場合、スレーブを使用してバックアップを実行するためにロックすることはそれほど大きな問題ではありません:))

于 2013-02-28T00:31:22.707 に答える
0

本番データベースに影響を与えずにこれを行うための最善の方法は、マスター/スレーブ レプリケーションを設定し、スレーブ データベースからダンプを行うことです。

MySQL レプリケーションの詳細はこちらhttp://dev.mysql.com/doc/refman/5.1/en/replication-howto.html

于 2013-02-26T13:04:27.093 に答える