xtrabackup

二進制日誌相關的幾個選項

innodb support xa={TRUE|FLASE}是否支持分佈式事務


sync_binlog = 1 在備份過程中不會有正在寫入的事務


https://www.percona.com/

    Software

    Percona XtraBackup


rpm -ivh percona-xtrabackup.rpm


innobackupex --user=root /backup  把數據庫備份到/backup目錄裏


/backup/.../backup-my.cnf配置文件的備份


/backup/.../xtrabackup_binlog_info裏記錄備份時是哪個二進制日誌



/backup/.../xtrabackup_binary 記錄備份時調用的哪個命令執行的操作



/backup/.../xtrabackup_logfile 純數據文件



/backup/.../xtrabackup_checkpoints 數據庫日誌序列號


創建一個最小權限的用戶進行備份,則可基於如下命令創建此類用戶

mysql> create user 'bkpuser'@'localhost' identified by 's3cret';

mysql> revoke all privileges, grant option from 'bkupuser';

mysql> grant reload,lock tables, replication client on *.* to 'bkpuser'@'localhost';

mysql> flush privileges;


# innobackupex --apply-log /backup/2016-10-28_22-17-27 恢復之前先準備一下-apply-log


mysql> flush logs;刷新二進制日誌文件,生成一個新的,好備份舊的


cd /mydata/data


cp mysql-bin.000001 /root 備份二進制日誌文件,


cd /mydata/data

rm -rd ./* 模擬mysql損壞


# innobackupex --copy-back /backup/2016-10-28_22-17-27還原


chown -R mysql.mysql ./*


service mysqld start


# mysqlbinlog /root/mysql-bin.000001 > /tmp/abc.sql


mysql> set sql_log_bin=0;


mysql> source /tmp/abc.sql;


mysql> set sql_log_bin=1;


xtrabackup+二進制日誌;


對innodb支持增量備份


恢復以後還需要重新做一份完全備份

#innobackupex  --user=root  /backup


#innobackupex --incremental /backup --incremental-dir=/backup/2016-10-28_22-36-37增量


備份



--------------



#innobackupex --apply-log --redo-only /backup/2016-10-28_22-36-37 只執行redo的完全備份


#innobackupex --apply-log --redo-only /backup/2016-10-28_22-36-37 --incremental-


dir=/backup/2016-10-28_22-38-58 增量備份


#cd /mydata/data 

#rm -rf ./*  模擬數據庫損壞


# innobackupex --copy-back /backup/2016-10-28_22-36-37 還原完全備份


#chown -R mysql.mysql /mydata/data


#service mysqld start










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章