centos mysql 实战 第十三节课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos mysql 实战 第十三节课相关的知识,希望对你有一定的参考价值。

centos mysql 实战 第十三节课 

 

 

Xtrabackup
1. innobackupex 怎么进行备份
基本使用命令的介绍
2. innobackupex备份原理是什么
LSN介绍
数据页合并
3. innobackupex对于多种存储引擎怎么实现备份数据一致性

 


Percona公司推出的

技术分享

 

 

 

 

 

 

 

 

 

yum 安装或rpm安装
https://www.percona.com/doc/percona-xtrabackup/2.4/installation/yum_repo.html
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum install percona-xtrabackup-24


备份命令
innobackupex —defautls-file=/etc/my.cnf /data/backup/
默认会以时间戳建立目录,也可以使用—no-timestamp 这个参数不建立目录


xtrabackup
innobackup
这两个软件是什么关系呢?
innobackupex 调用 xtrabackup
innodbackup perl 脚本
Xtrabackup c程序
xtrabackup 是copy innodb物理文件
innobackupex 和 xtrabackup,前者是一个 perl 脚本,后者是 C/C++ 编译的二进制。
xtrabackup 是用来备份 InnoDB 表的,不能备份非 InnoDB 表,和 mysqld server 没有交互;innobackupex 脚本用来备份非 InnoDB 表,同时会调用 xtrabackup 命令来备份 InnoDB 表,还会和 mysqld server 发送命令进行交互,如加读锁(FTWRL)、获取位点(SHOW SLAVE STATUS)等。简单来说,innobackupex 在 xtrabackup 之上做了一层封装。


innobackupex备份原理是什么
LSN : log seq number
show engine innodb status\\G;

技术分享

 

 

 

redo日志
ib_logfile0, ib_logfile1, ib_logfile2 …
Block 大小 512 byte
binlog position 文件的大小的便移量
8192 ->
ib_logfile0 10M
10*1024 *1024/512 =20480
redo 位置
ib_logfile -> redo


三个日志文件都写满了怎么办?
3*10*1024*1024
LSN%总共可以分配的号
定位给定一个lsn是在哪个iblogfile的哪个偏移
三个iblogfile总共可以有1200 号
LSN%1200 ->
innodb page format


header 38字节 trailer 8 字节

技术分享

技术分享

Flush LSN

 

 

Flush LSN
基于事务的操作每个操作都有一个唯一的编号号
这个编号就是LSN号
事务ID

 

Page编号也是唯一的,LSN也是唯一的,是不是两个都能对应起来了。
iblogfile不要分大小,建议可以分成1G一个


<5.6 的官方版本不能超过4个iblogfile文件
淘宝也是把Redo分成4个文件
redo 总共不能大于4G
>=5.6之后没有这个限制

 技术分享

 

 

 

 

 

 

 

 

 

 

 

 

 

f

以上是关于centos mysql 实战 第十三节课的主要内容,如果未能解决你的问题,请参考以下文章

centos mysql 实战 第二十三节课

centos mysql 优化 第二十三节课

C#第十三节课

centos mysql 实战 第三节课

第十三节课

centos mysql 实战 第十四节课