数据备份是每个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出品,唯一好用的开源备份工具,也是生产环境普遍使用的备份工具。支持全量加增量
可以简单地理解为拷贝文件的方式备份,具体详细原理可以后期在介绍
简单示例:(也就是用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