mysqldumpバックアップデータ

2381 ワード

ラベル(スペース区切り):mysql

1データベースのエクスポート


1.1すべてのデータベースのエクスポート

mysqldump -uroot -p  --all-databases > all.sql;


1.2単一データベースのエクスポート

mysqldump -uroot -p  db1 > db1.sql;


1.3複数のデータベースのエクスポート

mysqldump -uroot -p  --databases db1 db2 > db1-db2.sql


1.4テーブル構造のみのバックアップ

mysqldump -uroot -p  --no-data  db1 > db1.structure.sql;


2表のエクスポート


エクスポート指定テーブルは、1つのデータベースに対してのみエクスポートできます.また、エクスポートの内容とエクスポート・データベースは異なります.エクスポート指定テーブルのエクスポート・テキストには、データベースが作成されていないという判断文がエクスポートされます.テーブルの削除-テーブルの作成-データのインポートのみです.

2.1単一テーブルのエクスポート

mysqldump -uroot -p  db1  tb1 > db1.tb1.sql;


2.2複数のテーブルのエクスポート

mysqldump -uroot -p  --databases db1 --tables tb1 tb2   > db1.tb1-tb2.sql;


2.3テーブル構造のみのバックアップ

mysqldump -uroot -p  --no-data  db1  tb1 > db1.tb1.structure.sql;


3データの復元

shell> mysql db_name <  db1.sql

または
shell> mysql -e "source /path-to-backup/db1.sql"  db_name

4ホスト間バックアップ

mysqldump --host=host1 -uroot -ppwd1   sourceDb | mysql --host=host2 -uroot -ppwd2 -C targetDb


-Cホスト間のデータ転送にデータ圧縮を使用することを示す

5タイミングバックアップ


新規shellスクリプト
#vi /backup/backup.sh

#!bin/bash
cd /backup

mv backup* /oldbackup
echo "Old dbs are moved to oldbackup folder"
now=$(date +%Y-%m-%d-%H-%m)
file = "backup-$now.sql"

mysqldump -u user -p password database-name > $file

echo "Your database backup successfully completed"

上のスクリプトファイルはbackupとして保存されます.shは、システムに2つのディレクトリ/olcbackupおよび/backupが作成されています.毎回backupを実行する.shの場合、/backupディレクトリの下にあるbackupという名前のファイルを/oldbackupディレクトリに移動します.
上記のスクリプトの実行計画は次のとおりです.
#crontab -e
30 1 * * * /backup.sh

6条件付きバックアップ

mysqldump -uroot -p  --databases db1 --tables tb1 --where='id=1'  >/tmp/db1.tb1.sql

7ストアド・プロシージャとカスタム関数のエクスポート

mysqldump  -uroot -p --host=localhost --all-databases --routines

参考mysqldump—A Database Backup Program