• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • MySQL主從復制
    MySQL多實例數據庫
    MySQL一主多從架構
    MySQL雙主雙從架構

    MySQL雙主雙從配置開啟二進制日志

     

     

    一主多從,可以緩解讀的壓力,但是一旦主宕機了,就不能寫了;所以我們可以采用雙主雙從架構

     

    雙主雙重架構規劃:

     

     

    主master 3307 ---> 從slave 3309

     

    主master 3308 ---> 從slave 3310

     

    3307 <---> 3308 互為主從

     

    2個寫節點,每個寫節點下又是2個讀節點;

     

     

    MySQL雙主雙從配置開啟二進制日志

     

    1、配置每一臺MySQL服務器的配置文件my.cnf

     

    3307

     

    3308

     

    3309

     

    3310

     

    2、與一主多從一樣,所有主服務器配置文件加上binlog配置

     

    3307

     

    3308

     

    3309

     

    3310

     

    log-bin=mysql-bin

     

    server-id=實例的端口(server-id要唯一)

     

    3、第一臺主服務器3307的my.cnf文件增加如下配置:(Master 3307)

     

    auto_increment_increment=2
    
    auto_increment_offset=1
    
    log-slave-updates
    
    sync_binlog=1

     

    4、第二臺主服務器3308的my.cnf文件增加如下配置:(Master 3308)

     

    auto_increment_increment=2
    
    auto_increment_offset=2
    
    log-slave-updates
    
    sync_binlog=1

     

    配置項說明

     

    auto_increment_increment,控制主鍵自增的自增步長,用于防止Master與Master之間復制出現重復自增字段值,通常auto_increment_increment=n,有多少臺主服務器,n 就設置為多少;

     

    auto_increment_offset=1設置自增起始值,這里設置為1,這樣Master的auto_increment字段產生的數值是:1, 3, 5, 7, …等奇數ID

     

    注意auto_increment_offset的設置,不同的master設置不應該一樣,否則就容易引起主鍵沖突,比如master1的offset=1,則master2的offset=2,master3的offset=3

     

    在雙主模式中,log-slave-updates 配置項一定要配置,否則在master1(3307)上進行了更新數據,在master2(3308)和slave1(3309)上會更新,但是在slave2(3310)上不會更新

     

    sync_binlog表示每幾次事務提交,MySQL把binlog緩存刷進日志文件中,默認是0,最安全的是設置為1;

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏