MySQLデータベースのエントリ - データベースのバックアップ

mysqldumpのは、単一のテーブル、複数のテーブル、単一のデータベース、複数のデータベースに対するすべてのデータベース操作をエクスポートすることができます

mysqldumpの一般的なオプション
 -h、--host = 名:サーバーのIP
 -u、--user = 名前:ログインは
、--password [= -p パスワード:名]
 -A、--all- データベース:エクスポートすべてのデータベースを
 -B、 - データベース:エクスポート指定されたデータベース、データベース・スペースで区切られた複数の名前
 - 表:エクスポート指定テーブル
 -d、--no- データ:エクスポートテーブルのみとデータをエクスポートしていない
 -t、--no- create- 情報:テーブル作成文はエクスポートしないでください
、-n --no-create- デシベル:文EXISTS場合には、データベースを作成するエクスポートしないでください
 -eを、--extended- 挿入:挿入の効率を高めるために、INSERT文の中に複数のレコードをマージ
 -ドロップ---追加テーブルを:DROP TABLE文は、テーブル作成の前に追加される
 --hex- BLOBを16進数にバイナリデータを導出
 -R&LT、 - ルーチン:エクスポートストアド・プロシージャとストアド・ファンクションの
 --triggers:導出トリガー

 

単一のデータベースのバックアップ

mysqldumpを-uroot -pテスト> /ダウンロード/ testbak _ $(日付+%F).SQL 

パスワードを入力:

LL / /ダウンロード

 

ライブラリは自動的に復元作成する場合-B

-Bエフェクトパラメータは、つまり、私たちのデータベースが欠落しているとき、あなたは直接ライブラリ、構築されたフォームを再構築することなく、このバックアップファイルのリカバリを使用して、データ復旧作業を行うことができます

mysqldumpを-uroot -p -Bテスト> /ダウンロード/ testbak _ $(日付+%F)_b.sql

圧縮されたバックアップ

mysqldumpを-uroot -p -Bテスト| GZIP> /ダウンロード/ testbak _ $(日付+%F).sql.gz

バックアップ単一のテーブル

mysqldumpを-uroot -p -Bテストテスト> /ダウンロード/ test_testbak _ $(日付+%F).SQL      

唯一のテーブル構造をバックアップ

mysqldumpを--no-データ--databases mydatabase1 mydatabase2 mydatabase3> test.dump

 

1 。データのバックアップとデータベース構造のすべて

のmysqldump -uroot - p123456 -A> F:\ All.sql 

2すべてのコンフィギュレーションデータベースのバックアップ(プラス- Dパラメータ)

のmysqldump -uroot - p123456 -Ad> F:\ All_struct.sql 

3データベース内のすべてのバックアップ・データ。 - (プラスTパラメータ)

のmysqldump -uroot - p123456 -At> F:\ all_data.sql 

4。単一のデータベースとデータ構造(データベース名MYDB)のバックアップ。

のmysqldump -uroot - p123456 MYDB> F. :\ mydb.sql 

。5 。単一のデータベースのバックアップの構造

のmysqldump -uroot-D - p123456 MYDB> F:\ mydb.sql 

。6 。単一のデータベースのデータバックアップ

のmysqldump -uroot-T - p123456 MYDB> F:\ mydb.sql 

。7 データ構造とバックアップテーブル(データ、および同じ構造の別のバックアップ方法)複数の

mysqldump -uroot - p123456 mydbというのT1のT2> F:\ multables.sql 

。8 。複数のデータベースのバックアップ

mysqldumpを -uroot-DB1のDB2 -p123456 --databases> F:\ muldbs.sql

 

シンプルなバックアップスクリプト

bak.sh 

#!/ binに/ SH
 

IPは = `grepの' IPADDR ' / etc / sysconfig / network-scriptsに/のifcfg-eth0の|のawk -F " = "  ' {$ 2印刷} ' ` 

#定義サーバーIP変数

BAKDIR = / バックアップ   

#が定義しますバックアップパス

[!BAKDIR -d $ / $ {IP}] && BAKDIRます。mkdir -p $ / $ {IP} 

より簡単に確認するために、#パスが作成されるという決意がない場合、サーバー

DB_PWD = " 123456 " 

DB_USERを = " ルート" 

MYSQLベース = " /ファイルアプリケーション/ MySQLの/ binに/ MySQLの" 

MYSQL_DUMP = "/アプリケーション/ MySQLの/ binに/ mysqldumpをファイル" 

DATA =%+` DATEのF` 

試験データBAKの#### S ####をdatabses 

DB_NAME = -u MYSQL基づき`$ $ $ DB_PWD DB_USER -p -e " ショーデータベースを; " | sedの' 1,5d ' ` 

#は変数のデータベースを定義する

ための名前DB_NAME $ 

ループ#forは、ライブラリの名前を取る

行う

  $ MYSQL_DUMP -u -p DB_USER $ $ $ {name}のDB_PWD -B | gzip形式> BAKDIR $ / $ IP} {/ $ {名} _ $ DATA.sql.gz   

#フルバックアップ

  [!BAKDIR -d $ / $ {IP} / $ {名}] && BAKDIRます。mkdir -p $ / $ {IP} / $ { }名前

のライブラリのバックアップファイルを区別するために#裁判官このパス、

  のためにテーブル名を `MYSQLベース-u $ $ $ DB_PWD DB_USER -p -e " $ {名前}から表示テーブル; " | sedの' 1D ' ` 

テーブル取ら#forループ文

  DO 

   $ MYSQL_DUMP -u -p DB_USER $ $ $ {DB_PWDをテーブル名}} $ {名前| gzip形式> BAKDIR $ / $ {IP} / $ {名前} / $ {} _ $テーブル名DATA.sql.gz 

#分・テーブル・バックアップ

  DONE 

DONE

 

backup.sh

#vi /バックアップ/ backup.sh 
!binに/ bashのの
CD / バックアップは
エコー" あなたはバックアップディレクトリにある" MVバックアップ* / oldbackup 
エコー" オールド・DBSは、フォルダをoldbackupに移動されている" 
ファイル =バックアップ- $ Now.sql 
mysqldumpを -uパスワードデータベース名> -pユーザー$ファイル
エコーあなたのデータベースのバックアップが正常に完了
 
上記のスクリプトファイルbackup.shを保存し、システムは二つのディレクトリ/ olcbackupおよび/バックアップを作成しました。すべての名前を行うbackup.shたびは初めてとなる/バックアップディレクトリの先頭にファイルのバックアップのために/ oldbackupディレクトリを移動しました。
      上記のスクリプトは、以下のための実施計画を策定します。
#crontab - E
 30  1 * * * /backup.sh

 

定期的なバックアップを達成するために、Linuxのcronコマンドの組み合わせ
このような1:30毎日午前とGZ圧縮されたダンプ・ファイル・フォーマットでホスト上のすべてのデータベースをバックアップする必要があるとして、あなたは、/ etc / crontabの設定ファイルに次のコード行を追加することができます。
30  1 * * *ルートのmysqldump -uルート-Ppassword --all-データベース| GZIP>を/ mnt / DISK2 / database_`date ' +%M-%のd-%Y ' `.sql.gz

 

削減

部分還元部分(1)およびMySQLのコマンドラインソース法(2 )の方法・システムのコマンドライン

1は。すべてのデータベースを復元します
1)MySQLのコマンドライン:MySQLの> ソースF:\ all.sql 
2)システムのコマンドライン:mysqlの- -p123456 -uroot < F:\ all.sql 

2 個々のデータベース(指定するデータベース)。 
1。のMySQL)> を使用mydbという

    のMySQL > 出典F:\ mydb.sql 
2)MySQLの-uroot - p123456 mydbという< F:\ mydbという.SQL 

。3 。複数のテーブルが(指定するデータベース)は、個々のデータベース
1)のMySQL> 使用MYDB 

    のMySQL > ソースF:\ multables.sql 
2)MySQLの-uroot - p123456 mydbという< F:\のmultables.sql 

。4 。複数のデータベースを復元し、(データベースのバックアップファイルのバックアップ、複数のデータベースがこの時点で指定する必要はありません)
1。)MySQLのコマンドライン:MySQLの> ソースF:\ muldbs.sql 
2)システムのコマンドライン:MySQLの-uroot -p123456 <F:\ muldbs.sql

 

おすすめ

転載: www.cnblogs.com/alter888/p/11130403.html