如何实现mysql增量更

如何实现mysql增量更,第1张

Ø 首先,我们需要开启MySQL服务器的二进制日志功能,其实现方法有很多种,最常用的是在MySQL的配置文件的mysqld项中加入log-bin=[filepath]项;也可以使用mysqld –log-bin=[filepath]重新启动MySQL服务器。

Ø 其次,使用mysqldump对数据库进行完全备份,它可以实现对数据据的联机,非阻塞的热备份,不会影响其他进程对数据库的读写 *** 作。(参考指令:mysqldump -uroot --password=123 --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs >d:/mysql5.0/full_%date:~0,10%_1500_PM.sql)

Ø 第三,使用flush logs指令刷新创建新的二进制日志。可以通过mysqladmin flush logs或者flush logs语句实现。最方便有效的方法是将它做成批处理文件,然后让 *** 作系统定期执行。

Ø 使用mysql <*.sql进行完全备份的恢复。

简单的 mysql 增量备份方案

想弄一个自动作业每天备份公司项目的一个mysql数据库,原本采取的方案是crontab+全量mysqldump 然后gzip压缩并按日期保存,最后生成文件大概30多M的样子。但是毕竟这种全量备份放在每天执行不是很好,因为以后数据会越来越大(其中几张表,每天可能增加几w条数据)。

百度google了mysql增量备份的方案,看到有2种:

1.也是使用mysqldump,然后将这一次的dump文件和前一次的文件用比对工具比对,生成patch补丁,将补丁打到上一次的dump文件中,生成一份新的dump文件。(stackoverflow上看到的,感觉思路很奇特,但是不知道这样会不会有问题)

2.增量拷贝 mysql 的数据文件,以及日志文件。典型的方式就是用官方mysqlbackup工具配合 --incremental 参数,但是 mysqlbackup 是mysql Enterprise版才有的工具(收费?),现在项目安装的mysql版本貌似没有。还有v友中分享的各种增量备份脚本或工具也是基于这种方案?


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5909782.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-08
下一篇2023-03-08

发表评论

登录后才能评论

评论列表(0条)

    保存