日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xtraback工具的使用和备份

發布時間:2025/3/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xtraback工具的使用和备份 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.cnblogs.com/gomysql/p/3650645.html

?

mysqldump

參數:

--all-databases #所有數據庫

--database dbname #指定庫的

--single-transaction #備份前執行transaction命令,保持數據的一致性

--lock-tables #針對備份前對當前庫下的表進行鎖表,只能讀取數據不能寫入,保證數據的一致性,一般是用于myisam引擎,對于innodb引擎一般使用--single-transaction

--lock-all-tables #在備份過程中,以鎖住所有庫下的所有表

=====================================================================

針對mysql不同引擎的備份參數:

如果庫中既有innodb引擎又有myisam引擎時可以添加參數為:

--single-transaction -l 這兩個參數的含義是:在innodb的引擎時既不會影響數據的讀寫,而且在myisam中是備份哪個對象,它就鎖定哪個對象,相對于myisam引擎的讀寫影響較小。

=========================================================

xtraback工具的使用:

安裝:

rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

yum install rsync

yum install libaio

yum install perl-DBD-MySQL

rpm -ivh percona-xtrabackup-24-2.4.8-1.el6.x86_64.rpm --nodeps

創建備份用戶,給相應的權限

grant reload,lock tables,replication client,create tablespace,super,process on *.* to xtraback@'%' identified by '123';

全備份:

innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtraback --password=123 --socket=/usr/local/mysql/mysqld.sock /opt/data/
|備份的目錄|

恢復全備份:

首先:

innobackupex --apply-log /opt/data/2017-09-14_15-21-31/

再次進行恢復:

innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back --rsync /opt/data/2017-09-14_15-21-31/

最后修改data文件的權限:

chown -R /usr/local/mysql/data


增量備份:

1.全備份:

2.增量備份:

--incremental #指定增量備份的路徑

--incremental-basedir= #指定上一次完全備份或增量備份的備份路徑

--parallel=2

命令:

innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtraback --password=123 --socket=/usr/local/mysql/mysqld.sock --incremental /opt/data/zeng/ --incremental-basedir=/opt/data/2017-09-14_15-21-31/ --parallel=2

ll /opt/data/zeng/
total 8
drwxr-x--- 7 root root 4096 Sep 14 15:54 2017-09-14_15-54-27

基于上次增量備份的增量備份:

innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtraback --password=123 --socket=/usr/local/mysql/mysqld.sock --incremental /opt/data/zeng/ --incremental-basedir=/opt/data/zeng/2017-09-14_15-54-27/ --parallel=2

ll /opt/data/zeng/
total 8
drwxr-x--- 7 root root 4096 Sep 14 15:54 2017-09-14_15-54-27
drwxr-x--- 7 root root 4096 Sep 14 16:04 2017-09-14_16-04-07

恢復增量備份

--redo-only #是否回滾未提交的數據,添加不回滾,不添加回滾數據

1.先恢復完全備份

innobackupex --apply-log --redo-only /opt/data/2017-09-14_15-21-31/

2.恢復第一次的增量備份 (添加 --redo-only參數,最后一次增量恢復去掉這個參數)

innobackupex --apply-log --redo-only /opt/data/2017-09-14_15-21-31/ --incremental-dir=/opt/data/zeng/2017-09-14_15-54-27/

3.恢復第二次的增量備份,依次恢復增量備份

innobackupex --apply-log /opt/data/2017-09-14_15-21-31/ --incremental-dir=/opt/data/zeng/2017-09-14_16-04-07/

4.對整體的完全備份進行回復,回滾那些未提交的數據 (不添加--redo-only)

innobackupex --apply-log /opt/data/2017-09-14_15-21-31/

把恢復完的備份復制到mysql的家目錄中,并且給定權限,啟動mysqld

/etc/init.d/mysqld stop

恢復數據:

innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back --rsync /opt/data/2017-09-14_15-21-31/

給定權限:

cd /usr/local/mysql

chown -R mysql:mysql data/

/etc/init.d mysqld start

最后檢查數據的完整性。

xtraback實現在線添加從庫:

參數:

--galera-info #會將master的binlog文件名和偏移量位置保存到xtrabackup_slave_info文件中

--safe-slave-backup #會暫停slave的SQL線程直到沒有打開的臨時表的時候開始備份。備份結束后SQL線程會自動啟動,這樣操作的目的主要是確保一致性的復制狀態。

實例:

1.在原有的slave上進行備份:

slave1

innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtraback --password=123 --socket=/usr/local/mysql/mysqld.sock --slave-info --safe-slave-backup --no-timestamp /opt/clone


查看xtrabackup_slave_info文件內容,這個內容就是為搭建從庫時需要change master to的參數:

cat /opt/clone/xtrabackup_slave_info

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=404;

還原備份:

innobackupex --apply-log --redo-only /opt/clone/

將還原的數據文件復制到newslave上

rsync -avprP -e ssh /opt/clone/ 192.168.1.83:/opt/clone
|newslave的ip|

master上對newslave授權

在建主從的時候已經授權成功

拷貝slave1的配置文件到newslave上,并修改ID號:

scp /usr/local/mysql/my.cnf 192.168.1.83:/usr/local/mysql/
|newslave的ip|

newslave:

cat /usr/local/mysql/my.cnf|grep server

server-id = 4

在newslave上進行授權,并啟動服務:

cd /usr/local/mysql/

cp -rf /opt/clone ./data

chown -R mysql:mysql data/

/etc/init.d/mysqld start

查看xtrabackup_slave_info文件內容,并在newslave上進行CHANGE MASTER TO

change master to master_host='192.168.1.218',master_user='repl',master_password='123',master_log_file='mysql-bin.000002',master_log_pos=404;

啟動io線程,查看slave的狀態:

mysql> start slave;

mysql> show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

?

轉載于:https://www.cnblogs.com/Neverstopfootsteps/p/7643146.html

總結

以上是生活随笔為你收集整理的xtraback工具的使用和备份的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。