1. 程式人生 > >MYSQL數據庫中的主從級聯復制的實現

MYSQL數據庫中的主從級聯復制的實現

服務器管理 配置文件 ble 添加 命令 方便 列表 nod 從服務器

主服務ip:192.168.1.107
級聯服務ip:192.168.1.110
從服務ip:192.168.1.106

一.主服務器設置:

1.修改配置文件

   vim /etc/my.cnf   
     server_id=1    設置主服務的id  
     log_bin=/data/binlog/bin    開啟並設置二進制日誌文件路徑,建議單獨磁盤存放   
     bin_log_format=row  設置二進制日誌記錄方式為行記錄方式,此記錄更全面   
     innodb_file_per_table    每個表單獨一個文件,查找起來更方便   
     .  
     .    
     .   

2.重啟服務並授權

         啟動服務器 
              ~]# systemctl start mariadb        
         以默認方式登錄數據庫命令行,無需密碼登錄    
              ~]# mysql     
         給此網段的從服務器主機授予復制權限           
                ]> grant replication slave on*.* to [email protected]‘192.168.1.%‘ identified by ‘centos‘;      
        查看主服務管理的二進制日誌文件列表及大小 ,記錄下來作為級聯服務器的更新位置     
                ]> show master|binary logs;  

二.級聯服務器設置:

1.修改配置文件

   vim /etc/my.cnf   
     server_id=2    設置主服務的id    
     read_only          設置為只讀模式
     log_bin=/data/binlog/bin    開啟並設置二進制日誌文件路徑,建議單獨磁盤存放      
     log_slave_updates    開啟級聯功能,能夠將主服務的數據復制過程記錄到本機的二進制日誌文件中,在復制給從服務器   
     .   
     .  

2.啟動服務並設置主從連接

        啟動服務      
                ~]# systemctl start mariadb         
        進入mysql數據庫命令行   
                 ~]# mysql    
        添加主服務     
              ]>  change master to   
                    master_host=‘192.168.1.107‘,   
                    master_user=‘centos‘,    
                    master_password=‘centos‘,    
                    master_log_file=‘bin.000001‘,    
                    master_log_pos=245;     
         查看其主從詳細信息,可以看到 IO 和 SQL兩個進程未開啟   
                     ]> show salve status\G;    
         開啟主從服務後,可以看到兩個進程已開啟,可以進行主從服務了       
                     ]> start salve;
         查看級聯服務器管理的二進制日誌文件列表及大小 ,記錄下來作為從服務器的更新位置     
                     ]> show master|binary logs;  

三.設置從服務器:

1.修改從服務配置文件

        vim /etc/my.cnf     
        server_id=3    
        read_only     
        .   
        .   
        .    

2.開啟服務並設置主從連接,此時的主應設為級聯服務器

           開啟服務     
                     ~]# systemctl  start mariadb    
                     進入數據庫命令行   
                     ~]# mysql    
                       ]> change master to   
                    master_host=‘192.168.1.110‘,   
                    master_user=‘centos‘,    
                    master_password=‘centos‘,    
                    master_log_file=‘bin.000001‘,    
                    master_log_pos=245;     
                       ]> show  slave status\G;   
                         ]> start slave;     

四.主從級聯復制建立完成

                           copy             copy         
                主服務   →   級聯服務   →   從服務

MYSQL數據庫中的主從級聯復制的實現