innobackupex

mysql,redis

雨燕双飞 提交于 2019-12-02 18:35:22
1、搭建mysql服务器,并实现主主复制、半同步复制 存储引擎: 表类型:也称为“表类型”,表级别概念,不建议在同一个库中的表上使用不同的ENGINE; CREATE TABLE ... ENGINE[=]STORAGE_ENGINE_NAME ... SHOW TABLE STATUS 常见的存储引擎: MyISAM, Aria, InnoDB, MRG_MYISAM, CSV, BLACKHOLE, MEMORY, PERFORMANCE_SCHEMA, ARCHIVE, FEDERATED InnoDB:InnoBase Percona-XtraDB, Supports transactions, row-level locking, and foreign keys 数据存储于“表空间(table space)"中: (1) 所有数据库中的所有类型为InnoDB的表的数据和索引存储于同一个表空间中; 表空间文件:datadir定义的目录中 文件:ibdata1, ibdata2, ... (2) innodb_file_per_table=ON,意味着每表使用单独的表空间文件; 每表的数据文件(数据和索引,存储于数据库目录)存储于自己专用的表空间文件中,并存储于数据库目录下: tbl_name.ibd 表结构的定义:在数据库目录,tbl_name.frm 事务型存储引擎

Percona XtraBackup备份mysql数据库 技术手册

烈酒焚心 提交于 2019-12-01 17:45:05
作者: 沈小然 版本: 文档编号: 日期: 2016 年 6 月 14 日 1 介绍 Percona XtraBackup 软件 Xtrabackup 是由 percona 开发的一个开源软件,代替商业付费软件 MySQL Enterprise Backup (InnoDB Hot Backup) ,这个工具价格是 $5000 per Server ,可以在线对 InnoDB/XtraDB 引擎的表进行物理备份。 Mysql 自带的备份工具 mysqldump 支持在线备份,但是逻辑备份,效率比较差。 Xtrabackup 有两个主要的工具: xtrabackup 、 innobackupex ,其中 xtrabackup 只能备份 InnoDB 和 XtraDB 两种数据表, innobackupex 则封装了 xtrabackup ,同时可以备份 MyISAM 数据表。 l xtrabackup 命令:用于热备份 innodb (支持事务) , xtradb 表的工具,不能备份其他表。 l innobackupex 命令:对 xtrabackup 封装的 perl 脚本,提供了 myisam 表备份的能力(能进行整库和数据表备份)。 Xtrabackup 做备份的时候不能备份表结构、触发器等等,智能纷纷 .idb 数据文件。另外 innobackupex 还不能完全支持增量备份

在线热备份数据库之innobackupex 增量备份InnoDB

别来无恙 提交于 2019-12-01 10:42:26
在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是 基于上一次备份后对新增加的内容进行备份 ,优点相较于完整备份而言备份内容少时间短,能够节省磁盘空间。但相较于完整备份而言可靠性有所降低,不能缺失基于完整备份的增量备份区间备份包,建议完整备份区间时间不可大于一周, 通常情况下如果数据库非常庞大个人建议三天到七天完整备份一次,期间每天进行增量备份。如果数据库小那么每天进行完整备份才是最安全的选择。 增量备份原理是什么?他是如何记录上次备份的位置? 首先在InnoDB中, 每个page中都记录LSN信息,每当相关数据发生改变,page的LSN就会自动增加,xtrabackup的增量备份就是依据这一原理进行的。 我们增量备份必须要基于完整备份的前提下,在完整备份后会在备份目录中生成一个xtrabackup_checkpoints文件中记录了to_lsn= xxxx,下次备份就会从这里开始到结束,每次增量备份都需要指定上一次的增量备份的目录名,所以每次都从结束进行增量备份,恢复时将完整备份和增量备份1合并再与增量备份2合并再与增量备份N合并直到最后一次增量合并完成后,那么得到的就是完整备份数据,再进行完整数据的恢复。 先对我的数据库做一次完整备份,不指定任何数据库也不使用时间最为备份子目录名。 innobackupex -uroot

Taking backup remotely using innobackupex

*爱你&永不变心* 提交于 2019-12-01 03:41:19
I am trying to take backup from a remote machine using innobackupex. ./innobackupex --host=<mysql_server> --user=<username> <backup_dir>. Its failing as it is unable to locate a directory in the server. (Errcode: 2 - No such file or directory) I am assuming it is searching for the directory in the local machine. Please let me know how can we run the backup remotely ? I suspect you are confusing innobackupex with something like mysqldump . The former backs up the actual table files, while the latter connects to the database server and pulls the data. Since it is trying to backup the database

innobackupex在线备份及恢复

时光怂恿深爱的人放手 提交于 2019-11-30 12:25:20
#一、安装 ###1.下载源码: wget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.5/source/percona-xtrabackup-2.1.5.tar.gz ###2.安装依赖包: yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel ###3.解压源码包: tar -zxvf percona-xtrabackup-2.1.5.tar.gz cd percona-xtrabackup-2.1.5 ###4.编译安装 目录中的./utils/build.sh脚本会根据指定的引擎版本,自动解压缩适当的MySQL源码包并进行编译,这是最简单的安装方式。 直接执行: ./utils/build.sh 出现如下提示: [root@test1 percona-xtrabackup-2.1.5]# ./utils/build.sh Build an xtrabackup binary against the specified InnoDB flavor. Usage: build.sh CODEBASE where CODEBASE can

innobackupex备份过程(有图有真相)

懵懂的女人 提交于 2019-11-29 21:38:11
innobackupex命令构成: 1. Innobackupex内部封装了xtrabackup和mysqldump命令; 2. Xtrabackup是用来备份innoDB表的,内部实现对innoDB的热备份; 3. Mysqldump负责完成非innoDB表的备份; innobackupex备份过程: 过程说明: 1. Innobackupex启动之后,首先启动xtrabackup进程,innobackupex进入等待状态; 2. Xtrabackup启动两个线程:redo log复制线程和ibd复制线程,redo log线程从最近的检查点开始复制,ibd线程开始复制innodb表的ibd文件。Ibd文件复制完成后,通过创建xtrabackup_suspended_2文件,唤醒innobackupex进程开始工作。Redo log线程继续工作。 3. Innobackupex进程检测到xtrabackup_suspended_2文件存在后,执行备份锁,取的一致性位点,开始复制非innoDB文件。非innoDB文件复制完后,innobackupex开始执行LOCK BINLOG FOR BACKUP,获取binlog的位置,并记录到xtrabackup_binlog_info文件中。 4. Innobackupex进程完成上述操作后,通过删除xtrabackup_suspended

innobackupex备份参数slave-info、safe-slave-backup

孤者浪人 提交于 2019-11-29 19:16:30
mysql物理备份用的比较多的是innobackupex命令,备份常用,但对于里面的两个参数slave-info、safe-slave-backup一直搞的不太明白,今儿亲测了一下。 先解释一下参数意义 --slave-info :在从库进行备份时,该参数会在备份目录下生成xtrabackup_slave_info文件,文件记录主库的binlog日志位置点。在进行数据库恢复,搭建多从库时都需要这个文件。 如果在主库进行备份(在主库备份的情况很少,把主库惹怒了只能跑路了),该参数就不起作用了,主库的备份目录下始终会生成文件xtrabackup_binlog_info 记录binlog日志位置点。 --safe-slave-backup:官方说备份时检测从库是否有打开的临时表,如果没有就stop SQL thread开始备份,备份完后start SQL thread; 如果有打开的临时表就等,直到--safe-slave-backup-timeout超时。--safe-slave-backup-timeout默认300s,每3s进行一次重试检查,共重试100次。 这个参数和--slave-info经常一起使用,为了保证数据的一致性。 测试结果 1. 在备份过程中从库也会同步主库的DML\DDL等操作,而且这些操作也会在从库一并备份,可见并不是一开始就stop SQL thread的;

专职DBA-Xtrabackup物理备份恢复

不问归期 提交于 2019-11-29 12:19:22
专职DBA-Xtrabackup物理备份恢复 Xtrabackup是Percona公司专门针对MySQL数据库开发的一款开源免费的物理热备工具。 可以对InnoDB和XtraDB事物引擎的数据库实现非阻塞(即不锁表)方式备份。 可以对MyISAM非事物引擎实现锁表方式备份。 1.Xtrabackup的主要特点: 直接复制物理文件,备份恢复数据速度快,安全可靠。 备份期间执行的事物不会间断,备份InnoDB数据不会影响业务。 备份期间不会增加太多数据库的性能压力。 支持对备份的数据进行自动校验。 支持全量、增量、压缩备份及流备份。 支持在线迁移表以及快速创建新的从库。 支持几乎所有版本的MySQL分支。 2.首先你要理解数据库里面的几个数据文件: .idb文件 以独立表空间存储的InnoDB引擎类型的数据文件。 .ibdata文件 以共享表空间存储的InnoDB引擎类型的数据文件。 .frm文件 存放与表相关的元数据(meta)信息以及表结构的定义信息。 .MYD文件 存放MyISAM引擎表的数据文件。 .MYI文件 存放MyISAM引擎的索引信息文件。 3.事务型引擎的ACID特性 MySQL的InnoDB是事务型引擎。 MariaDB的XtraDB是事务型引擎。 事务型引擎的共同特性:4个 原子性:事务的所有SQL语句操作,要么全部成功,要么全部失败。 一致性

mysql备份工具innobackupex,xtrabackup-2.1安装与测试

…衆ロ難τιáo~ 提交于 2019-11-28 15:33:51
一、Xtrabackup介绍 1.1 :Xtrabackup是什么 Xtrabackup 是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup 有两个主要的工具:xtrabackup、innobackupex 1 、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 2 、innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的 同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢 复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。 1.2 :Xtrabackup可以做什么 : 在线(热)备份整个库的InnoDB、 XtraDB表 在xtrabackup的上一次整库备份基础上做增量备份(innodb only) 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用) MySQL 数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point

mysql在线备份恢复--Xtrabackup

笑着哭i 提交于 2019-11-27 10:22:04
Xtrabackup Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup介绍 Xtrabackup有两个主要的工具:xtrabackup、innobackupex xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。 Xtrabackup功能 在线(热)备份整个库的InnoDB、 XtraDB 表 在xtrabackup的上一次整库备份基础上做增量备份(innodb only) 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用) MySQL数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point-in-time(时间点)的恢复而不是增量备份