关于MySQL备份简单探讨

数据备份是每个DBA必不可少的一项基本技能,也是保证数据安全的最后保障,今天浅谈一下MySQL中有哪些备份方式,不展开详细讨论,以后会挨个介绍哈

离线备份

除非万不得已,不然这种停机冷备份的方式是很少采用的。

冷备份即物理备份,很简单,在MySQL里直接拷贝data目录就可以了,在新的MySQL实例上直接指定备份目录,便可以直接启动新的数据库

在线备份

也是普遍采用的备份方式

常用的备份工具有以下几种

mysqldump

作为MySQL社区版自带的备份工具,简单易用,但是只建议在数据量比较小的环境中使用哈,因为毕竟是逻辑备份,太慢又太大

简单示例:

mysqldump --databases tt -udba -p>/tmp/bp_20211213.sql

mydumper

轻量级的mydumper是开源备份界的小钢炮,支持多线程备份备份,也建议在小型数据库环境使用

简单示例:

mydumper  -h 192.168.3.235 -u dba -p 123456Aa -P 3306 -C -B basic_data_dev_np

Xtrabackup

Percona出品,唯一好用的开源备份工具,也是生产环境普遍使用的备份工具。支持全量加增量

可以简单地理解为拷贝文件的方式备份,具体详细原理可以后期在介绍

简单示例:关于MySQL备份简单探讨也就是用code水一下内容,不然太少了,细节之后介绍

# 全量备份
xtrabackup --defaults-file=/etc/my.cnf --user=dba --password=123456Aa --host=192.168.3.251 --target-dir=/data/backups_dir/bp_20211213_full --backup

#
 恢复前prepare
xtrabackup --defaults-file=/etc/my.cnf --prepare

MySQL Enterprise Backup

MySQL企业版备份工具,三个字…挺好用,还有三个字…要收费

PS: 该工具还支持在windows进行备份

MySQL Clone plugin

MySQL 克隆插件,起初是为了快速搭建主从和组复制环境而加入的插件,也可以简单地理解为直接拷贝文件。但是同样可以作为日常的备份工具,一句话,很强大的工具。支持本地克隆和远程克隆

在以往的MySQL的复制或者集群的搭建中,需要导出主库数据,在从库恢复;然而有了这个插件后,一个命令即可搞定,何其方便。除此之外,MySQL shell里你根本不需要手动地启动插件,clone数据。

clone instance from 'dba'@'localhost':3306 identified by '123456Aa' data directory = '/tmp/clone_dir/clone_20211213_bp';

备份策略

介绍了MySQL的几种备份方式,我们来说一下备份策略。

对于业务较小的数据库建议可以采用每天全量备份,业务较大的库可以采用一周一全,一天一增的方式。没有固定的思路,根据业务情况具体制定

建议用脚本全部自动化,备份文件本地保存最近的备份,每天的备份也要自动地扔到备份机上(为了数据安全,不只一台哦)

有能力的小伙伴可以自己开发一套备份系统,具备自动备份,备份还原等等功能

但是有一点,要想你的数据恢复到二十天或者半个月内的任意状态,binlog备份当然是必不可少的。

说白了,MySQL还原依靠的就是全量+binlog,或者全量+增量+binlog


原文始发于微信公众号(小新数据库):关于MySQL备份简单探讨

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/207627.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!