本文共 1400 字,大约阅读时间需要 4 分钟。
目录
MySQL数据库提供的大部分工具(如mysqldump、ibbackup、replication)都能很好地完成备份的工作,当然也可以通过第三方工具来完成,如xtrabacup、LVM快照备份等。
根据备份的方法不同可以将备份分为:
Hot Backup(热备):在数据库运行中直接备份,对正在运行的数据库没有任何影响
Cold Backup(冷备):在数据库停止情况下,一般只需要复制相关的数据库物理文件即可
Warn Backup(温备):在数据库运行中进行,但是会对当前数据库的操作有影响,如加一个全局读锁以保证备份数据的一致性
按照备份后文件的内容,备份文件又可以分为:
逻辑备份:备份出的文件是可读的,一般是文本文件。内容一般由一条条SQL语句,或者表内实际数据组成
裸文件备份:指复制数据库的物理文件,既可以在数据库运行中复制,也可以在数据库停止运行时直接的数据文件复制
按照备份数据库的内容来分,备份又可以分为:
完全备份:对数据库进行一个完整的备份
增量备份:在上次完全备份的基础上,对于更改的数据进行备份
日志备份:对MySQL数据库二进制日志的备份,通过对一个完全备份进行二进制日志的重做来完成数据库的point-in-time的恢复工作。数据库复制(replication)原理就是异步实时地将二进制日志重做传送并应用到从数据库
只需要备份MySQL数据的frm文件,共享表空间文件,独立表空间文件(*.ibd),重做日志文件。另外建议定期备份MySQL数据库的配置文件my.cnf,这样有利于恢复的操作。
mysqldump:用来完成转存数据库的备份及不同数据库之间的移植,备份的文件就是导出的SQL语句,一般只需要执行这个文件就可以完成数据恢复
select ... into outfile:导出一张表的数据,通过load data infile来进行导入恢复
二进制日志非常关键,用户可以通过它完成point-in-time的恢复工作。MySQL数据库的replication同样需要二进制日志。在默认情况下并不启用二进制日志,要使用二进制日志首先必须启用它。
推荐的二进制日志的服务器配置:
log-bin = mysql-binsync_binlog = 1innodb_support_xa = 1
ibbackup
XtraBackup
通过文件系统支持的快照功能对数据库进行备份。备份的前提是所有数据库文件放在同一文件分区中,然后对该分区进行快照操作。
复制(replication) 是MySQL数据库提供的一种高可用高性能的解决方案,一般用来建立大型的应用。总体来说,replication 的工作原理分为以下3个步骤:
主服务器(master) 把数据更改记录到二进制日志(binlog) 中。
从服务器(slave) 把主服务器的二进制日志复制到自己的中继日志(relay log)中。
从服务器重做中继日志中的日志,把更改应用到自己的数据库上,以达到数据的最终一致性。
本人现就职于50-100人的创业公司,经询问后了解到,我们公司采用的是 阿里云 的 云数据库 RDS 版
采用 半同步 方式
转载地址:http://ziqen.baihongyu.com/