Linux下MySQL主從復制(二)
阿新 • • 發佈:2017-07-23
mysql 鄰居 主服務器中使用show slave status\G;
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的值?
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主從復制(二)