1. さまざまな使用方法
A. 最も簡単な使用法:
mysqldump -uroot -pPassword [database name] > [dump file]
上記のコマンドは、指定されたデータベースをダンプ ファイル (ダンプ ファイル) にバックアップします。例:
mysqldump -uroot -p123 test > test.dump
によって生成された test.dump ファイルには、 Table ステートメント (データベース構造を生成) と、データを挿入するための Insert ステートメント。
B. --opt
--opt パラメーターを追加すると、生成されるダンプ ファイルは若干異なります:
。テーブル作成ステートメントには、テーブル名が存在する場合は削除が含まれます
。挿入にはロックが含まれます。テーブルをロックする前の table ステートメント tableName の書き込み、挿入後の挿入にはロック解除が含まれます テーブル
C. クロスホストバックアップ
targetDb データベースが host2 ホスト上に作成されている場合、次のコマンドを使用して、host1 上のsourceDb を host2 の targetDb にコピーします。
mysqldump --host=host1 --opt sourceDb| mysql --host=host2 -C targetDb
-C は、データ圧縮を使用するようにホスト間のデータ送信を指示します
D. 戻るテーブル構造のみをアップ
mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > test.dump
はテーブル構造のみをバックアップします。 --databases は、バックアップするホスト上のデータベースを示します。 MySQL ホスト上のすべてのデータベースをバックアップする場合は、次のように --all-databases オプションを使用できます:
mysqldump --all-databases > test.dump
E. バックアップ ファイルからデータベースを復元します
mysql [database name] < [backup file name]
2。 Linux cron コマンドと組み合わせます。スケジュールされたバックアップを実現するには
たとえば、特定のホスト上のすべてのデータベースを毎日午前 1 時 30 分にバックアップし、ダンプ ファイルを gz 形式に圧縮する必要がある場合は、次のコード行を /etc/crontab 設定ファイルに追加できます。
最初の 5 つのパラメータは分、時、日、月、年を表し、アスタリスクはいずれかを示します。 date '+%m-%d-%Y' は、現在の日付を MM-DD-YYYY 形式で取得します。 3. MySQL データベースをバックアップするための完全なシェル スクリプトの例30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz
#vi /backup/backup.sh #!bin/bash cd /backup echo "You are in backup dir" mv backup* /oldbackup echo "Old dbs are moved to oldbackup folder" File = backup-$Now.sql mysqldump -u user -p password database-name > $File echo "Your database backup successfully completed"
#crontab -e30 1 * * * /backup.sh
[mysqld] log-bin=mysql-bin
mysqldump --single-transaction --flush-logs --master-data=2 > backup.sql