MYSQL数据库的主主复制实现

一.简单介绍:

优点

      实现互为主从,两个服务器可以互相对数据进行增删改查,且互相同  
      步数据,实现多台主服务的数据修改要求。     

不足

       可能带来数据的不一致,当进行相同的内容操作时会发生冲突,导致  
       数据不同步。   

考虑要点:创建表格自动增长id

        配置一个节点使用奇数id          
                     auto_increment_offset=1     开始点      
                     auto_increment_increment=2   增长幅度         
        另一个节点使用偶数id          
                     auto_increment_offset=2    
                     auto_increment_increment=2     

发生冲突出错时根据自己的需求忽略错误

        设置变量参数,开启忽略错误此功能,恢复数据同步
               ]> set global sql_slave_skip_counter=1;      

二.实现的操作步骤:

第一步:主服务a

1.修改配置文件: ip 192.168.1.107
        vim /etc/my.cnf    
                server_id=1   
                log_bin=/data/logbin/bin    
                bin_log_format=row    
                auto_increment_offset=1    
                auto_increment_increment=2   
                ...    
                ...   
                ...      
2.启动服务并登录数据库命令行进行主主设置
                ~]# systemctl start mariadb   
                ~]# mysql   
    创建授权用户
                  ]> grant replication slave on *.* to centos@'192.168.1.%' identified by 'centos';  
    将主服务b设置为主   
                  ]> change master to    
                master_host='192.168.1.110',   
                master_user='centos',    
                master_password='centos',    
                master_log_file='bin.000001',    
                master_log_pos=245;       
    开启主主复制服务
                   ]> start slave;      
    主服a设置完成    

第二步:主服务b

1.修改配置文件: ip 192.168.1.110
                  vim /etc/my.cnf    
                   server_id=2     
                   log_bin=/data/logbin/bin    
                   bin_log_format=row    
                   auto_increment_offset=2    
                   auto_increment_increment=2   
                   ...    
                   ...   
                   ...      
2.启动服务并登录数据库命令行进行主主设置
                ~]# systemctl start mariadb   
                ~]# mysql                           
         将主服务a设置为主   
                  ]> change master to    
                master_host='192.168.1.107',   
                master_user='centos',    
                master_password='centos',    
                master_log_file='bin.000001',    
                master_log_pos=245;       
         开启主主复制服务
                   ]> start slave;      
         主服b设置完成        

第三步:主主复制建立完成

             在主机a创建一个数据库   
                         ]> create database oracle;    
              查询创建的数据库是否成功    
                           ]> show databases;   
Database
information_schema
mysql
oracle
performance_schema
test
        在主机b上查看数据库    
                       ]> show databases;                           
Database
information_schema
mysql
oracle
performance_schema
test
          在两台主机上都可看到oracle数据库,同理在主机b上创建一个数据库,主机a    
          也可查看到,从而实现主主复制同步;

转载于:https://blog.51cto.com/14234542/2392038

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值