失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Xtrabackup备份和恢复MySQL

Xtrabackup备份和恢复MySQL

时间:2021-05-10 09:17:34

相关推荐

Xtrabackup备份和恢复MySQL

数据库|mysql教程

MySQL基础教程,Xtrabackup备份和恢复MySQL

数据库-mysql教程

asp项目管理系统源码,vscode 编程,ubuntu进入系统设置,日语tomcat,qt sqlite 事务,网站服务器管理系统,zblog插件下载,前端框架racte教程,网络爬虫工具下载,php 个推,seo营销网站,网站后台后缀有哪些,网页图片滑动浏览,帝国cms 企业模板,css 页面向下滑动,android 人事管理系统,完整版小程序源码lzw

mysqldump排Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbac

幸运转盘 vb源码,vscode目录插件,在ubuntu下安装go语言,cmd停tomcat,qt sqlite变量查询,jquery 图片延迟加载插件,django框架是前端吗,爬虫是工具还是程序,php 核心技术,莞城区seo,建筑设计网站模板,手机html5网页模板,joomla 前台模板,vfp进销存源程序lzw

vip在线源码,vscode格式化scss,ubuntu ssh 限制,tomcat多节点部署,爬虫寻找客户,php md5 中文,seo推广教程视频外推,网站导航自动收录批量,药店网站模板lzw

mysqldump排Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

Xtrabackup中包含两个工具:

* xtrabackup – 用于热备份innodb, xtradb表的工具,不能备份其他表。

* innobackupex – 对xtrabackup封装的perl脚本,提供了myisam表备份的能力。

Xtrabackup可以做什么

* 在线(热)备份整个库的InnoDB, XtraDB表

* 在xtrabackup的上一次整库备份基础上做增量备份(innodb only)

* 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用)

Xtrabackup如何工作的

* xtrabackup – 具体原理有待研究。。。

* innobackupex整库备份

1. 调用xtrabackup对innodb表空间文件(这一瞬间的映像Time1)备份,而在这个innodb表备份期间数据库是不加锁的,外部可以继续往库里增减数据(这才能叫热备份)。而在Time1和Time2这两个时间点之间的改动由一个线程不断地扫innodb log获得(ChangeSet1)。

2. 锁所有库。

3. 以直接拷贝的方式备份frm,MYD,MYI,MRG,TRG,TRN,opt格式的文件。

4. 步骤3中的数据备份完毕时(Time2),停止扫innodb log的线程,把ChangeSet1的数据拷贝到备份中。

5. 解锁所有库。

6. 终止挂起,备份完毕。

注意要点

* 根据innobackupex的原理可知它不是真正的热备份,MyISAM表越少越小就越有利。要利用Xtrabackup的好处就尽量用innodb表。

* 还原备份前关闭mysql服务;还原备份后检查数据文件权限是否正确。

* 性能:备份一个数据目录总大小5.6G,其中ibdata 2G,总时间4分钟,锁表时间2.5分钟。如果用mysqldump做这个库的备份锁表时间是5-8倍。

安装

tar zxf xtrabackup-0.7.tar.gz

cd xtrabackup-0.7

./configure

make

进行到这里时,千万别惯性使用make install,那样就会接着安装MySQL了,正确方法是接着:

cd innobase/xtrabackup/

make

make install

然后,就会在你的/usr/bin目录里安装上两个工具:xtrabackup,innobackupex-1.5.1

# 制定备份多个数据库

innobackupex-1.5.1 –user=root –databases=”innodb innodb2″ /bak/

# 压缩备份(不加–databases,默认全部数据库)

innobackupex-1.5.1 –user=root –stream=tar /bak/ | gzip > /bak/bak.tar.gz

(解压缩必须加i。innobackupex: You must use -i (–ignore-zeros) option for extraction of the tar stream.)

# 远程备份到192.168.1.200的/bak目录下。

innobackupex-1.5.1 –user=root –stream=tar /bak | ssh root@192.168.1.200 cat “>” /bak/backup.tar

恢复

# innobackupex-1.5.1 –apply-log /bak/_0929/

# innobackupex-1.5.1 –copy-back /bak/_0929/

# chown -R mysql:mysql /usr/local/mysql/data/*

# mysqladmin -uroot -p123456 shutdown

# mysqld_safe –user=mysql &

除某几张表不导出,其余都导出。

如果觉得《Xtrabackup备份和恢复MySQL》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。