100分讨论 想跟大家探讨一下mysql数据库同步异步的问题
现在如果有两个数据库A,B,A数据库作为系统的主数据库,B数据库作为备份数据库,这两个数据库是在不同的硬盘下,因为需求原因,这两个都必须24小时开着,也就是说不可以停止mysql服务然后手动去备份,那么请问这两个数据库应该如何实现备份呢?他们可以是在同一个服务器上的两块硬盘,也可能是不同的两个服务器上,或者同一块硬盘下的两个文件夹,我想问的是,用同步和异步的方式分别怎么做呢?
------解决方案--------------------可以采用Master/Slave数据库复制备份。
------解决方案--------------------
备份分为冷备和热备,楼主说的不能停机备份,那就是不能做冷备,热备的方式有很多
mysqldump ,xtrbackup等工具都可以做到。
------解决方案--------------------
如果在不同服务器上,则可以直接使用 MYSQL全身提供的数据库复制功能。
------解决方案--------------------备份完全不需要停机的啊
直接mysqldump导出数据备份
------解决方案--------------------
如果是运行在同一个服务器下,不同的MYSQL服务进程中,则等同于不同MYSQL服务器之间的同步。参考复制功能即可。
如果是运行在同一MYSQL实例下。既然B在任何时刻都完全等同于A, 则最简单的方法就是直接在服务器上把这两块硬盘做成 raid1 镜像,则操作系统来完成两块硬盘的镜像。
如果由于没有服务器权限,则你可以考虑在A数据库的所有表中添加触发器,当有变更时,同步更新B中的记录。
------解决方案--------------------