1.Perconaソフトウェア; 2.innobackupexバックアップとリカバリ
、Perconaソフトウェア
perconaソフトウェアを学習する前に、私たちはどのような欠陥物理バックアップとバックアップmysqldumpを見てください。
物理バックアップのデメリット:クロスプラットフォームのパフォーマンスが悪く、長時間のバックアップ、冗長性、収納スペースの無駄。
バックアップ欠点mysqldumpを:低効率、低速のバックアップおよびリストアするだけでなく、ロックテーブル、バックアップ・プロセス、挿入または更新されたデータを得ることができません。
したがって、perconaはされて入ってきました。
1.perconaのアドバンテージソフトウェア
オンラインホットバックアップを有効にし、バックアップ・プロセスがライブラリをロックしていない、テーブルをロックしていない、私たちの実際の生産環境のためのより適切な。
2.Perconaの二つの成分のソフトウェア:
Xtrabackup:Cのプログラムでは、サポートのInnoDB / XtraDBを
Innobackupexは: でPerlのスクリプトパッケージxtrabackup、またサポートしてMyISAMテーブルを。
3.共通オプション
二、innobackupexバックアップとリカバリ
コンテンツ概要:1. フルバックアップと復元; 2. 増分バックアップとリカバリ; 3. 単一のテーブルを復元します。
1. データのフルバックアップとリカバリ
バックアップ形式:--user innobackupex ユーザ名 --password パスワードのバックアップ・ディレクトリー名 --no-タイムスタンプ
フォーマット回復:私は--applyログnnobackupex ディレクトリ名を // データを再開する準備ができて
innobackupex --copy-BAKの ディレクトリ名 // データを復元
innobackupex --copy-BAKの ディレクトリ名 // データを復元
例:
では192.168.4.50のバックアップデータ、で192.168.4.51 データを回復します。
トポロジ:
ホスト192.168.4.50のバックアップデータを:
50]#innobackupex -uroot -p123qqq ... A /ルート/ allbak --no-タイムスタンプ// 备份
50]#件のscp -r /ルート/ allbakの [email protected]:/ルート/ // ホストにバックアップデータをアップロード4.51
ホスト192.168.4.51が上のデータを回復します:
51] #rpm -ivh libevは、4.15 //実装percona の依存関係
51] #yum -yインストールpercona //安装percona
51] #systemctl停止mysqldを
51] #lsの/ var / libに/ mysqlの// ドキュメントのコンテンツを視聴
51] #rm -rfの/ var / libに / mysqlの/ * // ドキュメントの内容を空にする
51である] #Innobackupex --applyログ/ルート/ allbak //データを再開する準備
51] #Innobackupex --copyバック/ルート / allbak // データを復元
51] #lsの/ var / libに/ mysqlの// データ回復かどうかを確認
51] #lsの/ var / libに/ mysqlの-l // ファイルディレクトリのパーミッションを閲覧所属するルート
51] #chown -R mysqlの:mysqlの/ VAR / libに/ mysqlの// 変更したディレクトリのパーミッションを所属MySQLを
51] #systemctl再起動のmysqld
mysqlの-uroot -p123qqq ... A // 入力してMySQLを
MySQLの>ショーのデータベース; db3.user //ビューのデータ復旧状況から選択*
2.増分バックアップとデータの回復
バックアップ形式:innobackupex --user ユーザ名--password パスワード--incremental 増分ディレクトリー--incremental-BASEDIR = ディレクトリ名--no-タイムスタンプ
再開形式:innobackupex --apply---REDOログのみの ディレクトリ名--incremental-DIR = ディレクトリ名
例:
ホスト192.168.4.50をバックアップに、 ホスト192.168.4.51の上の回復を。
トポロジ:
ホスト192.168.4.50をバックアップに:
50] #innobackupex --userルート--password 123qqq ... A / fullbak --no-タイムスタンプ// フルバックアップデータ
50] #ls / fullbak / //バックアップの状態を確認します
MySQLの> db3.user2値(「挿入トム」); //は、 データを増やします
MySQLの> db3.user2値(「挿入ジャック」); //は、 データを増やします
ルート--user 50] #innobackupex --password 123qqq ... A --incremental / new1dir --incremental-BASEDIR = / fullbak //増分バックアップのタイムスタンプ--no- 1、ディレクトリに格納されている/ new1dir
50] #ls / new1dir //バックアップフォルダをチェック
50] #innobackupex --userルート--password 123qqq ... A --incremental /新しい新しい2 DIR --incremental-BASEDIR = / fullbak --no増分バックアップのタイムスタンプ// 2、ディレクトリに格納されている/ new2dir
50] #ls / new2dir //バックアップフォルダをチェック
ホスト192.168.4.51が上のデータを回復します:
51] #systemctl停止mysqldを
51]内容量/ * // #rmで-rfの/ var / libに/ mysqlの空のディレクトリ
51]#innobackupex --redo --applyログ -only /ルート/ fullbak / // フルバックアップをリストアし、
51] #innobackupex --apply --redoログ専用/ルート/ fullbak / --incremental-DIR = /ルート/あるnew1dir // 復元増分バックアップデータ
51] #rm -rf /ルート/ new1dir / // 復旧が完了したら、データを消去し、他のに影響を与えないように
51] #innobackupex --apply --redoログ専用/ルート/ fullbak / --incremental-DIR = /ルート/ IS // new2dir 復元2つのデータ増分バックアップを
51] #rm -rf /ルート/ new2dir / //復旧が完了したら、データを消去し、他のに影響を与えないように
51] #innobackupex --copyバック/ルート / fullbak / // データベースにファイルをコピーし、データ復旧を完了するために、
51] #chown -R mysqlの:mysqlの/ VAR / libに/のmysql // にあなたの許可変更MySQLを
51] #systemctl再起動のmysqld
51]#mysqlの-uroot -p123qqq ... A
MySQLの>ショーのデータベース; SELECT * FROM db3.user2; // データベースへのアクセスをデータ復旧のステータスを表示します
3. 回復の単一のフォーム
DB3 ライブラリであるuser2のテーブル、例えば:
MySQLは>テーブルdb3.user2廃棄表領域を変更; //テーブルスペースを削除します。
#innobackupex --export / allbak --applyログ; ( エクスポート後/ allbak / DB3 / ディレクトリつ以上のファイルになりますuser2.cfg とuse2.exp ) //エクスポートテーブル情報
#Cpは-r /allbak/db3/user2.{cfg.exp,ibd}の/ var / libに/ mysqlの/ DB3 /; //データベースカタログに情報ファイルをコピーします
#chownのmysql:mysqlの/var/lib/mysql/db3/user2.* //所有権は、情報ファイルを変更するにはMySQLを
mysqlの>テーブルdb3.user2インポート表領域を変更; //インポート表領域
#rm -rf /var/lib/mysql/db3/user2.cfg //データベーステーブル情報のファイルを削除した.cfg
#rm -rf /var/lib/mysql/db3/user2.exp //データベーステーブル情報のファイルを削除します.EXP
MySQLは> db3.user2から選択*; //表示レコード
終わり。