扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
下文主要给大家带来MySQL备份主要有哪些工具,希望这些内容能够带给大家实际用处,这也是我编辑mysql备份主要有哪些工具这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
10余年的荣昌网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整荣昌建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“荣昌网站设计”,“荣昌网站推广”以来,每个客户项目都认真落实执行。
备份还原脚本及工具
1)Xtrabackup实现是物理备份,而且是物理热备
目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup;ibbackup是商业软件,需要授权,非常昂贵。而xtrabackup功能比ibbackup还要强大,但却是开源的。
2)Xtrabackup提供了两种命令行工具:
xtrabackup:专用于备份InnoDB和XtraDB引擎的数据;
innobackupex:这是一个perl脚本,在执行过程中会调用xtrabackup命令,这样用该命令即可以实现备份InnoDB,也可以备份MyISAM引擎的对象。
二 演示步骤
首先 解压安装包
复制bin下的所有程序到/usr/bin
Xtrabackup中主要包含两个工具:
xtrabackup:是用于热备份innodb, xtradb表中数据的工具,支持在线热备份,可以在不加锁的情况下备份Innodb数据表,不过此工具不能操作Myisam引擎表;
innobackupex:是将xtrabackup进行封装的perl脚本,能同时处理Innodb和Myisam,但在处理Myisam时需要加一个读锁。
3)安装插件 使用yum
yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5–y
方案一:xtrabackup完全备份+binlog增量备份
创建备份目录
完全备份
innobackupex --user=root --password=123456 /opt/mysqlbackup/full 出现OK 完成
注: --defaults-file=/etc/my.cnf 指定mysql的配置文件my.cfg,如果指定则必须是第一参数。
备份数据库会会在备份目录下创建当前日期为名字的目录存放
文件说明
(1)xtrabackup_checkpoints ——备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;
每个InnoDB页(通常为16k大小)都会包含一个日志序列号 (2)xtrabackup_binlog_info —— mysql云服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置。
(3)xtrabackup_binlog_pos_innodb ——二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当前position。
(4)xtrabackup_binary ——备份中用到的xtrabackup的可执行文件;
(5)backup-my.cnf ——备份命令用到的配置选项信息;
在使用innobackupex进行备份时,还可以使用--no-timestamp选项来阻止命令自动创建一个以时间命名的目录。
注意:备份数据库的用户需要具有相应权限,如果要使用一个最小权限的用户进行备份,则可基于如下命令创建此类用户:
至此全备完全成功,然后向mysql某个库插入几条数据,然后进行增量备份对完全备份的后数据库更改进行二进制日志增量备份:
查看完全备份时binlog日志位置(position)
模拟修改数据库
增量备份二进制文件
2 还原数据库二进制文件
首先 模拟吧data文件删除或者转移,然后进行完全备份还原
innobakupex命令的--apply-log选项可用于实现上述功能。--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中:
还原数据库语法:
# innobackupex --copy-back /opt/mysqlbackup/full/2016-09-12_11-29-55/
这里的--copy-back指明是进行数据恢复。数据恢复完成之后,需要修改相关文件的权限mysql数据库才能正常启动。
还原数据库语法
data 已经成功还原 重新启动mysql
需要确保所有数据文件属主和属组
还原成功 但是增量备份还没有成功
为了防止还原时产生大量的二进制日志,在还原时可临时关闭二进制日志后再还原:
mysql> set sql_log_bin=0;
mysql> source /opt/mysqlbackup/inc/2016-09-12.sql
还原成功 数据成功恢复
重新启动二进制日志 set sql_log_bin=1;
对于以上关于mysql备份主要有哪些工具,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流