zoukankan      html  css  js  c++  java
  • 【MySQL】MySQL数据库主主备份

    序:

      由于公司内部服务器使用的是普通PC机,所有发生宕机的情况比较多。尤其是发生过几次灾难后整机需要重新安装系统,导致此系统上的MySQL数据无法使用。所以再经过此次问题后搭建了MySQL主主备份。

    0x01:环境

      环境:MySQL(5.7)

      系统:Windows 10(192.168.1.9,以下简称9)、Window Server 2012(192.168.1.126,以下简称126)

      库名:test_sync

    0x02:主从同步

      先配置主从热备。以126为主机,9为备机。

      首先需要将126的数据同步到9备机中,然后配置log进行数据的热备。

      1、将126同步的数据库加锁,防止同步数据期间发生新的变更

    >mysql -h192.168.1.126 -uroot -proot
    >use test_sync;
    >flush tables with read lock;

      2、通过mysqldump导出数据

    mysqldump -uroot -proot test_sync >test_sync.sql

      3、解锁数据库

    >unlock tables;

      4、将期初数据导入9备机

    >use test_sync;
    >source test_sync.sql

      5、修改126 my.ini文件,配置主从同步  

    #开启二进制日志
    log-bin=mysql-bin
    #设置主机编号
    server-id=1
    #不同步的数据库
    binlog-ignore-db=information_schema
    binlog-ignore-db=cluster
    binlog-ignore-db=mysql
    #需要同步的数据库
    binlog-do-db=test_sync

      6、配置9 my.ini文件,配置主从同步

    log-bin=mysql-bin
    server-id=2
    binlog-ignore-db=information_schema
    binlog-ignore-db=cluster
    binlog-ignore-db=mysql

    replicate-do-db=test_sync

    log-slave-updates=YES

    relay-log=relay-log

      保存后重启MySQL服务,查看126日记记录。


    >SHOW MASTER STATUSG

      

      6、在主服务器中创建用于同步数据的账号

    >grant replication slave on *.* to 'repluser'@'192.168.1.9' identified by 'repluse';

      7、备机配置主从同步

    >change master to
        master_host='192.168.1.126',
        master_user='repluser',
        master_password='repluser',
        master_log_file='mysql-bin.000003',
        master_log_pos=1654;

      配置后重启服务,查看同步的状态。

    >show slave statusG

      

      如果Slave_IO_Running、Slave_SQL_Running均为Yes的话则配置成功,可以进行数据同步测试了。

      

     0x03:主主同步

      主主同步与主从同步配置大致相同,只是将上述的主机变为备机,备机变为主机。

      1、在9上创建同步的账号  

    >grant replication slave on *.* to 'repluser'@'192.168.1.126' identified by 'repluse';

      2、修改126配置文件

    replicate-do-db=test_sync
    relay-log=relay-log
    log-slave-updates=YES

      3、查看9备机的二进制日志文件

    show master statusG

      4、开启同步

    >change master to
        master_host='192.168.1.126',
        master_user='repluser',
        master_password='repluser',
        master_log_file='mysql-bin.000003',
        master_log_pos=1654;

      重启MySQL服务即可。下图中127.0.0.1就是9号机器。

      

    0x04:跳过异常

      由于同步过程中出现异常Slave将自动中断,则可以选择跳过指定错误。

        

    STOP SLAVE;
    SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
    START SLAVE;
  • 相关阅读:
    VCL消息处理机制
    效率由心生,快速提高工作效率秘诀
    我的插件架构
    Windows消息机制要点(转)
    SQLite区分大小写查询
    请教: 事件和消息的联系?
    DataAdapter数据集DataSet和数据库的同步(3):使用CommandBuilder来更新数据集
    TCP编程(4): 发送电子邮件 MailMessage, SmtpClient, NetworkCredential
    强类型的数据集,在处理以直接附加方式的SQLServer的MDF文件时无法更新数据原因分析
    javascript调试测试,利用vs2008:智能对象类型感知,方法及属性提示;立即窗口调试等
  • 原文地址:https://www.cnblogs.com/MangoCai/p/10006241.html
Copyright © 2011-2022 走看看