专栏首页MySQLBeginner叮咚~您的 MySQL 云备份已上线

叮咚~您的 MySQL 云备份已上线

一、备份的重要性

作为一名合格的MySQL DBA,备份是重中之重。为了保证备份集的安全可靠,除了集中存储以外还有其他更好的方案吗? 当然是有的,可以存储在OSS或者分布式存储上。那么问题来了,如何能够实现自动备份,不需要人工干预即可上传到OSS上,节约大量的时间去悠哉悠哉地喝喝茶、看看报呢?且听下文

二、常见的MySQL备份方式

1、 逻辑备份:常见的逻辑备份MySQLDUMP和MySQLpump;

2、物理备份:常见的物理备份xtrabackup;

3、冷备份:关闭MySQL,拷贝文件,并启动MySQL;

本文重点介绍xtrabackup备份。

三、xtrabackup原理讲解

首先会启动一个xtrabackup_log后台检测的进程,实时检测mysql redo的变化。 一旦发现redo有新的日志写入,立刻将日志写入到xtrabackup_log中。 复制innodb的数据文件和系统表空间文件,idbata1到对应的默以默认时间戳为备份目录的地方; 复制结束后,执行 flush table with read lock操作,复制 .frm .myd .myi文件,并且在第一时刻获得binary log 位置,将表进行解锁 unlock tables ,停止xtrabackup_log进程。

基本操作:

1.全量备份
innobackupex  --defaults-file=/etc/my.cnf --user=root --password=redhat /data/backup
--defaults-file 配置文件
--user 表示用户名
--password 表示密码
/data/backup 备份路径

2. 应用redo
innobackupex --apply-log 2017-02-17_11-50-43

3.恢复
(1)需要恢复地方的MySQL需要关闭
(2)目前datadir 为空
(3)手工把刚applu的文件cop过去或者
 innobackupex  --copy-back /data/backup/2017-02-17_11-36-47/
(4)更改copy过去的权限
chow -R mysql:mysql /data/backup/2017-02-17_11-36-47/
(5)启动mysql

四、自动备份,并上传到oss上

https://github.com/enmotplinux/mysql_backup

主要实现目标 :能够实现基于xtrabackup 的MySQL自动化备份,并且上传到OSS上。(ceph暂时不支持 ,需要那位好心的小伙伴提供一个ceph的测试环境,后续就可以支持。) 目录lib下 innodb_backup.py 主要实现:xtrabackup备份和自动apply-log 根目录的index.py主要实现:调用lib下面的innodb_backup下面的函数 并且自动上次到oss上,需要配置oss的认证信息。 根目录test.py 主要实现:下载最新的备份,并且配置启动。目的主要是为了实现自动校验。 关于备份校对,我推荐使用“心跳表”的方式来校对备份。

五、注意事项

1、需要单独的物理网络做备份网络,避免在执行备份传输的时候造成网络阻塞,从而影响业务; 2、多个备份同时执行时,需要考虑一个队列问题。避免同时上传,导致网络阻塞,出现本地备份成功,但上传OSS或者ceph却失败的情况。因此,需要设计一个合理的队列并进行限速,先上传核心的库,每次同时上传4个,等待上传成功后再进行下一个队列的传输。 3、本地备份留2天,oss上或者ceph根据空间大小和库的大小自行决定设计。

转载声明:本文转载自微信公众号「老叶茶馆」。

本文分享自微信公众号 - MySQLBeginner(MySQLBeginner),作者:田帅萌@知数堂

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL在Square的拆分实践

    Square是面向美国,加拿大,英国,日本,澳大利亚提供金融服务的公司。现在所有的交易相关信息都存储在MySQL中。这种电商类的网站,整体规模也有一些值得学习的...

    wubx
  • MySQL在Square的拆分实践

    Square是面向美国,加拿大,英国,日本,澳大利亚提供金融服务的公司。现在所有的交易相关信息存储在MySQL中。这种电商类的网站,整体规模及也有一...

    wubx
  • XtraBackup 的流式和压缩备份

    Streaming mode, supported by Percona XtraBackup, sends backup to STDOUT in speci...

    wubx
  • 全量备份/增量备份/差异备份说明

    作为一名运维工程师,在日常工作中会时常对各类重要数据进行备份,为了方便管理,运用何种备份方案是至关重要的。 今天在此简单说明下Linux运维中的备份种类:全量备...

    洗尽了浮华
  • 学会用各种姿势备份MySQL数据库

    前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事...

    小小科
  • 删库就跑路了,那删系统呢?

    做IT这行真的是怕丢东西啊,为了以防root下 rm -rf类似的事件或者其他的需要时,我们要备份,备份,备份!!!其实大多数人对备份的了解也不是那么深,只是知...

    A2Data
  • 多云虚拟化环境的备份遵从性

    企业IT部门是否可以保护它存储在云中的数据?在一定程度上是这样。云计算提供商在为活动数据构建冗余和可用性方面通常是值得信赖的,但是真正的合规性需要可靠的备份。

    静一
  • MySQL/MariaDB数据库备份与恢复

    前言 数据库一般存放着企业最为重要的数据,它关系到企业业务能否正常运转,数据库服务器总会遇到一 些不可抗拒因素,导致数据丢失或损坏,而数据库备份可以帮助我们...

    小小科
  • mysql备份与恢复

    对于DBA来说,备份和恢复是一项最基本的操作,在服务器宕机、磁盘损坏、RAID卡损坏等意外情况下,要保证数据不丢失或者丢失量在可接受范围内,每个DBA应该时刻...

    AsiaYe
  • Mysql备份与恢复(1)---物理备份

    数据库对企业来说最重要的莫过于其中的数据,所以做好数据库的备份是一个不可或缺的工作。数据库及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工...

    逆月翎

扫码关注云+社区

领取腾讯云代金券