Mysql 数据多服务器备份,数据安全远离灾难 (mysql不同服务器相互备份)

MySQL 数据多服务器备份,数据安全远离灾难

如果你是一名数据库管理员,你会很清楚数据的安全和保护是多么重要。数据是企业和组织中最重要的资产之一。然而,许多公司都没有做好数据备份和恢复的准备,这却是数据灾难的主要原因之一。为了避免这种情况的发生,实施一个可靠的多服务器备份方案是至关重要的。

Mysql 数据库是一种开源的关系型数据库管理系统,被广泛应用于各种类型的业务。尤其在互联网领域,Mysql 数据库几乎成了标配,各种web应用、云应用和移动应用都需要用到它。因此,Mysql 数据库数据安全与备份是数据库管理员必须要面对的挑战。

多服务器备份对于Mysql数据的安全和可靠性至关重要。MySQL数据库系统备份可以分为物理备份和逻辑备份两种方式。物理备份是将原数据库的每个磁盘模块拷贝到另一个位置的操作,这种备份方案的优点是恢复速度很快,但也有局限性,它可能不能在其他驱动器或存储媒介上恢复数据。而逻辑备份则是将所有数据文件转换为逻辑文件(SQL语句),这种备份方案的优点是可以选择性地备份部分数据,因此,在数据量变大的情况下,逻辑备份恢复速度比物理备份快。

而多服务器备份方案还可以大大提高数据安全性和可靠性,因为在多服务器方案中,存在多个冗余备份,保证了服务的容错性。我们可以采用主从同步备份方案和多主备份方案。

主从同步备份方案(Master-Slave Replication Backup):主服务器和从服务器之间通过二进制日志 (binlog) 实现数据的自动同步。主服务器负责写入,从服务器负责读取。这样,如果主服务器故障了,可以直接切换为从服务器提供服务,而数据也不会丢失。同时,在进行数据备份的时候,我们只需要备份主服务器的数据,无需装载从服务器的数据。

多主备份方案(Multi-master Replication Backup) :多主备份是指,多台主服务器之间互相备份彼此的数据。这种备份方式可以有效地提高系统稳定性和并行计算能力。一旦一个节点发生故障,其余所有节点都可以提供服务。同时,主服务器之间可以通过很短的时间间隔实现对数据库的同步,从而在发生数据库故障时,数据的丢失也会降至更低。

:多服务器备份方案对于 Mysql 数据库的安全和可靠性至关重要。我们可以选择主从同步备份方案和多主备份方案。此类备份方案,无论从可靠性还是从恢复速度上来看,都比单一备份更具优势。当然,需要注意备份频率、备份数据的完整性以及安全存储备份数据等细节,才能建立可靠的数据备份和恢复系统。只有这样,我们才能保证数据不会因灾难而遭受损失,数据的安全才能真正得到保障。

在实际应用中,选择合适的备份方案,确保数据的可靠性和安全性,再配合相应的恢复机制,才能将数据备份和恢复做好。通过使用Mysql的多服务器备份方案,可以避免数据库故障和数据丢失等问题。在这个大数据时代,这已经成为了企业和组织数据安全的更佳实践。

相关问题拓展阅读:

mysql到底如何备份

Mysql数据库备份的方法:

方法一:如果你使用的是虚拟主机,可以用使用phpmyadmin来备份数据库。

1、登陆phpmyadmin。登陆后左边会出现数据库列表,单击要备份的数据库。

2、在弹出的页面中,右侧上部单击“昌陆导出”按钮,一般保持默认选项,最下面“另存为文件”,选择“ZIP压缩”,最后单击执行按钮。

3、弹出保存文件后,保存文件即可。

方法二:如果你的数据库可以使用外部链接。可以使用SQLyogEnt来备份。

1、打开SQLyogEnt,并登陆mysql服务器,前面的文章已经讲过,如果还不明含迅团白的可谈橘以看这里《MySql管理利器SQLyogEnt初识(php建立数据库)》。

2、在左边数据库菜单选择要备份的书库,然后右击它。在弹出的菜单中,选择Backup Database as sql dump。

3、在弹出的对话框中,“export to file”即时备份数据库文件要保存的位置,其他保持默认选项,单击“Export”按钮,开始备份。

4、如果数据库是存放在和程序一台服务器的时候,及数据库地址为localhost的时候,备份mysql数据库一般采用之一种方法,如果你的mysql数据库可以外部登录,就可以使用第二种方式。如果你是独立服务器,可以直接复制数据库源文件即可,这里就不详细讲解了。

注意:

备份时要注意MYSQL数据库的版本和使用的字集,在还原的时候也要对应好,否则会出现乱码或者意想不到的后果。

数据备份是数据容灾的最后一道防线,即便有着两地三中心的架构,备份也依然重要。如果备份出问题,备份时影响了交易业务,备份数据无法恢复,这些也是企业难以承受的。所以选择合适的备份工具尤为重要。

每个企业级数据库都会有配套的备份工具,MEB(MySQL Enterprise Backup)就是MySQL企业版中非常重要的工具之一,是为企业级客户提供的数据备份方案。

Xtrabackup一直作为MEB 开源版备胎而存在,从MySQL 8.0开始情况可能会变得有所不同。

在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB备份/恢复体验会更好,目前xtrabackup还不支持这些特性。

MySQL 企业版还有哪些功能?

特性1:Backup Lock

8.0之前使用xtrabackup或MEB做物理备份,为了保证备份时InnoDB引擎表与其他引擎数据文件、及binlog日志的一致性会上全局读锁,再拷贝非InnoDB文件,这期间MySQL会变成只读,数据无法写入。表数量越多,可能加上时间越长,如果使用的xtrabackup 不小心没加rsync参数,逐个拷贝frm文件,锁定时间会更长,对业务影响较大。

我曾遇到过部署在虚拟机的实例有12023多张表,当时使用的xtrabackup,备份脚本中没加rsync参数,结果锁了十几弯局分钟,而MEB就没有这样的问题。

MySQL 8.0支持轻量级备份锁 LOCK INSTANCE FOR BACKUP,数据字典也重构了由InnoDB存储。若不创建非InnoDB表,MEB默认使用备份锁获取binlog日志一致性位滑闹陪置,并阻止DDL操作,但不影响DML操作。

只有InnoDB表,仅上备份锁

请点击输入图片描述

若有非InnoDB表,上全局锁

请点击输入图片描述

特性2:Redo Log Archiving

MEB能做到在线热备,备份时不影响数据库读写,这是利用了InnoDB事务日志,在备份期间持续监视redo log的变化,读取增量变化,写入到ibbackup_logfile,也就不需要上锁来保障备份一致性。(对非InnoDB的文件需要上读锁拷贝)

如果备份期间数据库写入负载特别大信蠢,而写入ibbackup_logfile速度较慢,redo log size也不大,很可能会出现ibbackup_logfile的写入速度跟不上redo log记录生成速度,redo log 空间不够时需要覆写日志文件,那么来不及写入ibbackup_logfile的记录会丢失,导致备份失败。

MEB 4.1对此做了优化,将redo log处理线程拆分成多线程分工合作,提高处理redo log的效率,降低了redo log覆写造成备份失败的概率,但redo log新增速度和ibbackup_logfile写入速度悬殊太大,问题依然会发生。

MySQL 8.0.17支持了redo log archiving 彻底解决了此问题,备份前设置innodb_redo_log_archive_dirs,指定redo log归档目录。MEB备份时自动开启日志归档,当checkpoint时会将旧记录归档到此目录,后续从归档文件中读取redo日志记录,避免了覆写可能导致的redo记录丢失。

请点击输入图片描述

注意:innodb_redo_log_archive_dirs 不能在数据目录下,目录权限要求是700

特性3:Page Tracking

Page Tracking 是为优化增量备份效率,减少不必要的数据页扫描。

增量备份当前有3种扫描模式:

page-track:利用LSN精确跟踪上次备份之后被修改页面,仅复制这些页面,效率最快。

optimistic:扫描上次备份之后被修改的InnoDB 数据文件中,找出并拷贝修改的页面。依赖系统时间,使用存在限制。

full-scan:扫描所有InnoDB数据文件,找出并拷贝自上次备份之后修改的页面,效率最慢

1、利用page-track增量备份,需先安装备份组件

mysql> INSTALL COMPONENT “

2、在全备前开启page-track

SELECT mysqlbackup_page_track_set(true);

3、全备之后,做增量备份时指定若满足page tracking条件,默认会使用page-track模式,否则会使用full-scan模式,也可以指定–incremental=page-track。

mysqlbackup –incremental-backup-dir=backup_incr –trace=3 –incremental=page-track –incremental-base=history:last_full_backup backup

incremental-base有3种选择

last_backup:基于前一次备份做增备,前一次备份可能是增备,也可能是全备。这种方式全备之间可能会有多个增备,每次增量可能比较小,但恢复时需要逐个合并。

last_full_backup:基于前一次全备做增备。这种方式增备会越往后体积可能越大,但恢复时只需要合并最后一次增量备份。

dir:基于前一次的备份目录,前一次备份可能是增备,也可能是全备。

测试对比full-scan 和page-track ,在变更页小于总体50%的情况下 ,备份效率至少能有1倍的速度提升。

page-track 模式 磁盘读写均衡,说明读写的都是修改页面。

请点击输入图片描述

full-scan模式 磁盘读写差别很大,说明读了很多未修改的页面。

请点击输入图片描述

常用备份工具是mysql自带的mysqldump,

mysqldump -u root -p密码 dbname >d:\test.sql—-备份友轿拍某个库

mysqldump -u root -p密码 dbname tablename>d:\test.sql—-备份某个库下的某个好羡表

mysqldump -u root -p密码 –all-databases >d:\test.sql—-备份全库帆敬

更多参数可通过 在 mysqldump –help查看

备份的应该是数据库。。

MySQL实时备份的问题

去看看高可用吧,Mysql官方文档里有介绍,当然你也可以去网上搜下,本质就是服务器架构问题了

关于mysql不同服务器相互备份的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Mysql 数据多服务器备份,数据安全远离灾难 (mysql不同服务器相互备份)