1. 程式人生 > >Linux下MySQL主從復制(二)

Linux下MySQL主從復制(二)

mysql 鄰居

MySQL的一主多從模式

原理結構圖

技術分享

配置步驟

1.主服務器:

 1. 改變server id 
 2. 啟用二進制日誌文件 
 3. 創建具有復制的用戶123123

具體操作請看:http://www.crazyrui.pw:8088/index.php/2017/07/23/linux_mysql_savle_1/

2.第一個從服務器配置

 1. 改變server id 
 2. 啟用relay_log 
 3. 連接主服務器
     mysql>change master to MASTER_HOST="IP",MASTER_USER="USER",MASTER_PASSWORD="PASSWORD",MASTER_LOG_BIN="",MASTER_LOG_PAS="";
4. 開始同步
     mysql>start slave;

怎麽才能知道MASTER_LOG_BIN和MASTER_LOG_PASd的值?

主服務器中使用show slave status\G;
技術分享

3.替他服務器的配置

其他服務器的配置和第一個服務器的配置是一樣的11

MySQL的半同步復制方式

1.原理

   客戶端提交數據與主服務器,主服務器將數據同步道從服務器中,只要從服務器中其中一個同步完成,向主服務器回復一個消息,主服務器再向客戶端回復一個消息。
    即就是,客戶端給主服務器提交數據,主服務器將數據同步與多個從服務器,多個從服務器中的某一個執行完成後,給主服務器返回一個消息,主服務器在向客戶端返回一個消息。

2.前提條件

要想使用半同步復制,必須滿足以下幾個條件: 
1. MySQL 5.5及以上版本 
2. 變量have_dynamic_loading為YES
 3. 異步復制已經存在12341234

3.主服務器配置

 1. 改變server id 
 2. 啟用二進制日誌文件 
 3. 創建具有復制的用戶 
 4. 安裝插件
    mysql> install plugin rpl_semi_sync_master soname ‘semisync_master.so‘
 5. 開啟半同步復制:
    mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;123456789123456789

技術分享

4.從服務器配置

 1. 改變server id 
 2. 啟用relay_log 
 3. 安裝插件
    mysql>  install plugin rpl_semi_sync_slave soname ‘semisync_slave.so‘;
 4. 連接主服務器
     mysql>change master to MASTER_HOST="IP",MASTER_USER="USER",MASTER_PASSWORD="PASSWORD",MASTER_LOG_BIN="",MASTER_LOG_PAS=""; 
5. 開啟半同步模式:
    mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1
 6. 開始同步
     mysql>start slave;

技術分享

技術分享

復制過濾器

怎麽才能使用主從復制只備份數據庫中的個別表呢?

第一種方法:
    在主服務器進行過濾
    原理:在主服務器上過濾記入二進制日誌文件中的信息,實現數據庫的過濾
    在配置文件中,加入以下幾行
    binlog_do_db=數據庫             //進行白名單
    binlog_ignore_db=           //進行黑名單第二種方法:
    在從服務器上進行過濾
    原理:利用sql thread線程進行過濾,表示只采用那個庫的日誌。
    在配置文件中,加入以下幾行

    replicate_do_db=       //進行數據庫過濾白名單
    replicate_ignore_db=    //進行數據庫過濾黑名單

    replicate_do_table=db.tbname     //進行數據庫中的表過濾
    replicate_ignore_table=db.tbname

    通配符過濾
    replicate_wild_do_table=
    replicate_wild_ignore_table=

  • 0


Linux下MySQL主從復制(二)