现在如果有两个数据库A,B,A数据库作为系统的主数据库,B数据库作为备份数据库,这两个数据库是在不同的硬盘下,因为需求原因,这两个都必须24小时开着,也就是说不可以停止mysql服务然后手动去备份,那么请问这两个数据库应该如何实现备份呢?他们可以是在同一个服务器上的两块硬盘,也可能是不同的两个服务器上,或者同一块硬盘下的两个文件夹,我想问的是,用同步和异步的方式分别怎么做呢?

解决方案 »

  1.   

    可以采用Master/Slave数据库复制备份。
      

  2.   

    备份分为冷备和热备,楼主说的不能停机备份,那就是不能做冷备,热备的方式有很多
    mysqldump ,xtrbackup等工具都可以做到。
      

  3.   

    如果在不同服务器上,则可以直接使用 MYSQL全身提供的数据库复制功能。
      

  4.   

    备份完全不需要停机的啊
    直接mysqldump导出数据备份
      

  5.   

    如果是运行在同一个服务器下,不同的MYSQL服务进程中,则等同于不同MYSQL服务器之间的同步。参考复制功能即可。如果是运行在同一MYSQL实例下。既然B在任何时刻都完全等同于A, 则最简单的方法就是直接在服务器上把这两块硬盘做成 raid1 镜像,则操作系统来完成两块硬盘的镜像。如果由于没有服务器权限,则你可以考虑在A数据库的所有表中添加触发器,当有变更时,同步更新B中的记录。
      

  6.   

    可以使用Navicat for MySQL
      

  7.   


    是不同的两个服务器上-
       --》标准的mysql主、从架构就可以
    在同一个服务器上的两块硬盘
       --》在一个服务器上装两套mysql(主、从各一套),data dir对应不同的硬盘
    同一块硬盘下的两个文件夹
       --》这个虽然可按照上面方案实现,但感觉没什么用,磁盘坏了,数据就都丢了,而且也分担不了度压力