innobackupex備份恢複詳解,innobackupex詳解
不想多說什麼沒用的,直接看實際操作吧。。
還是說一句吧,就一句,innobackupex在備份過程中,會給非innodb表上讀鎖,會給innodb表上一個鎖我不知道叫什麼,總之不能更改表結構。我比較愚鈍,不知道那叫什麼鎖。最下面有張備份的過程詳細圖,可以看一下
環境:10.186.20.45:3309
test.t
insert into t select 8;
基礎備份1;
第一步:
time(看備份執行時間) innobackupex –user=root –password=redhat –socket=/tmp/mysql3309.sock –defaults-file=/usr/local/mysql3309/my.cnf –database=test /data/backup/back3309/base –no-timestamp
第二步;
建立表t1,並插入資料
create table t1(id int);
insert into t1 select 1;
t syntax to use near ” at line 1
mysql> select * from t;
+——+
| id |
+——+
| 8 |
+——+
1 row in set (0.00 sec)
mysql> create table t1(id int);
Query OK, 0 rows affected (0.03 sec)
mysql>
mysql> insert into t1 select 1;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
mysql>
mysql> show variables like ‘autocommit’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| autocommit | ON |
+—————+——-+
1 row in set (0.00 sec)
mysql>
第三步:
建立增量備份
innobackupex –user=root –password=redhat –socket=/tmp/mysql3309.sock –defaults-file=/usr/local/mysql3309/my.cnf –database=test –incremental /data/backup/back3309/incremental1/ –incremental-basedir=/data/backup/back3309/base –no-timestamp –parallel=2
[root@mysql45 base]# ll
total 208924
-rw-r–r– 1 root root 295 Aug 2 17:36 backup-my.cnf
-rw-r—– 1 root root 213909504 Aug 2 17:36 ibdata1
drwx—— 2 root root 4096 Aug 2 17:36 test
-rw-r–r– 1 root root 20 Aug 2 17:36 xtrabackup_binlog_info
-rw-r—– 1 root root 95 Aug 2 17:36 xtrabackup_checkpoints
-rw-r–r– 1 root root 706 Aug 2 17:36 xtrabackup_info
-rw-r—– 1 root root 2560 Aug 2 17:36 xtrabackup_logfile
[root@mysql45 base]# pwd
/data/backup/back3309/base
[root@mysql45 base]#
第四步:
進行資料恢複
過程::恢複基礎備份,應用增量備份,對合并好的備份做apply操作,復原未提交資料。
恢複基礎備份:time innobackupex –apply-log –redo-only –use-memory=400M /data/backup/back3309/base
應用增量備份:time innobackupex –apply-log –use-memory=400M /data/backup/back3309/base –incremental-dir=/data/backup/back3309/incremental1/
對合并好的備份做apply操作,復原未提交資料:time innobackupex –apply-log –use-memory=400M /data/backup/back3309/base
[root@mysql45 test]# ll
total 216
-rw-r–r– 1 root root 8556 Aug 2 18:02 t1.frm
-rw-r–r– 1 root root 98304 Aug 2 18:02 t1.ibd
-rw-r—– 1 root root 8556 Aug 2 18:02 t.frm
-rw-r—– 1 root root 98304 Aug 2 17:36 t.ibd
[root@mysql45 test]#
第五步:
cp資料到資料庫data目錄
[root@mysql45 base]# cp -r test /usr/local/mysql3309/data/
變更檔所屬,恢複完成。
這貨限制傳大於2M的圖???差評,為什麼我上上個部落格就可以。日了狗了
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。