mysql5.6基於GTID的主從複製

mysql5.6gtid模式的主從複製:

1.配置master的my.cnf文件:
    ##################master
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /home/data/mysqldb
    socket = /home/data/mysqldb/mysql.sock
    port = 3306
    server_id = 1
    user=mysql
    
    binlog-format=ROW
    log-bin=master-bin.log-bin
    log-slave-updates=true
    gtid-mode=on
    enforce-gtid-consistency=true
    master-info_repository=TABLE
    relay-log-info-repository=TABLE
    sync-master-info=1
    slave-parallel-worker=2
    slave_allow_batching = 1  
    master-verify-checksum=1  
    slave-sql-verify-checksum=1
    binlog-rows-query-log-events=1
    server-id=1
    port=3306
    report-port=3306
    report-host=192.168.100.3
    lower_case_table_names=1
    #安裝完半同步插件後即可在配置文件中打開下面的選項
    #rpl_semi_sync_slave_enabled=1
    #rpl_semi_sync_master_enabled=1
    #rpl_semi_sync_master_timeout=2000

2.配置master的my.cnf文件:
    ##################slave
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /home/data/mysqldb
    socket = /home/data/mysqldb/mysql.sock
    port = 3306
    server_id = 1
    user=mysql
    binlog-format=ROW
    log-bin=master-bin.log-bin
    enforce-gtid-consistency=true
    master-info_repository=TABLE
    relay-log-info-repository=TABLE
    sync-master-info=1
    slave-parallel-worker=2
    slave_allow_batching = 1  
    master-verify-checksum=1  
    slave-sql-verify-checksum=1
    binlog-rows-query-log-events=1
    server-id=2
    report-port=3306
    port=3306
    report-host=192.168.100.5
    #安裝完半同步插件後即可在配置文件中打開下面的選項
    #rpl_semi_sync_slave_enabled=1
    #rpl_semi_sync_master_enabled=1
    #rpl_semi_sync_master_timeout=1000
3.備份主數據庫(須安裝perconna-xtrabackup軟件):
    innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password=backupuser --socket=/home/data/mysqldb/mysql.sock --parallel=3 --no-timestamp /home/backup/mysqlbak/20150603F
    將/tmp/bak/fullbk下的備份文件傳至從庫的/tmp/bak/fullbk目錄下,並執行如下語句:
    innobackupex --apply-log  /tmp/bak/fullbk
    #注意:此處是將數據文件拷貝至配置文件中的datadir目錄下:
    innobackupex --copy-back  /tmp/bak/fullbk

4.安裝同步插件並授權:
    獲取跳過的gtid值:
    awk '{print $3;}' xtrabackup_binlog_info
    在mysql主從數據庫中安裝半同步插件:
    install plugin rpl_semi_sync_master soname 'semisync_master.so';
    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
    
    設置跳過GTID值:
    SET @@GLOBAL.GTID_PURGED='XXXX';
    
    在mysql的主從數據庫中授權,並開啓半同步:
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.3' IDENTIFIED BY 'repl';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.5' IDENTIFIED BY 'repl';
    set global rpl_semi_sync_slave_enabled=1;
    set global rpl_semi_sync_master_enabled=1;
    set global rpl_semi_sync_master_timeout=1000;

5.啓動同步:
    change master to master host='',master_user='',master_password='',master_auto_position=1;
    start slave;
6.檢查:
    在mysql的主數據庫中查看從客戶端:
    show slave hosts;
    show master logs;
    show master status \G;
    show processlist\G;

    在mysql從服務器中檢查同步狀態:
    mysql>show processlist\G;
    mysql>show slave status\G
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
          Exec_Master_Log_Pos: 34810
        Seconds_Behind_Master: 4
             Master_Server_Id: 1
                Auto_Position: 1
7.至此,完成基於GTID的主從配置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章