日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)

發布時間:2023/12/10 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL5.7.6以后開始支持多源復制Multi-Source Replication,可以將多個主的庫同步到一臺slave上,從而增加從的利用率,出節省了機器,也可用于備份。

首先設置master_info_repository和relay_log_info_repository兩個參數,這存儲同步信息的倉庫,可以設置的值為'FILE'和'TABLE',

參數名

設置值

存儲位置

master_info_repository

FILE

master.info

master_info_repository

TABLE

MySQL.slave_master_info

relay_log_info_repository

FILE

relay-log.info

relay_log_info_repository

TABLE

mysql.slave_relay_log_info

這2個參數都是可以動態調整的,要開啟多源復制功能,必須將上面2個參數設置成'TABLE'

動態調整命令為:

STOP SLAVE;//如果主從復制正在進行,需要先停掉

SET GLOBAL master_info_repository = 'TABLE';

SET GLOBAL relay_log_info_repository = 'TABLE';

設置同步的源:我這里設置的3個源,

CHANGE MASTER TO MASTER_HOST='10.237.81.192',MASTER_USER='repl', MASTER_PORT=3306, MASTER_PASSWORD='repl4slave',MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=417 FOR CHANNEL 'master_3306';

CHANGE MASTER TO MASTER_HOST='10.237.81.192',MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl4slave',MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=9350223 FOR CHANNEL 'master_3307';

CHANGE MASTER TO MASTER_HOST='10.237.81.192',MASTER_USER='repl', MASTER_PORT=3308, MASTER_PASSWORD='repl4slave',MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=120 FOR CHANNEL 'master_3308';

設置完源后,啟動復制

START SLAVE; //啟動所有線程所有通道的復制,常用

START SLAVE SQL_THREAD; //啟動所有通道的SQL_THREAD線程

START SLAVE IO_THREAD; //啟動所有通道的IO_THREAD線程

START SLAVE FOR CHANNEL 'master_3306';

START SLAVE SQL_THREAD FOR CHANNEL 'master_3306';

START SLAVE IO_THREAD FOR CHANNEL 'master_3306';

停止復制命令也START類似,把START換成STOP;

重置可以選擇重置所有和重置單一通道:

RESET SLAVE;

RESET SLAVE FOR CHANNEL CHANNELNAME;

檢查復制狀態:

SHOW SLAVE STATUS\G

對于多源復制的幾點說明:

1.? ? ? 使用多源復制要避免源庫是有同名 的庫,這樣在復制時會發生錯誤

2.? ? ? 對于mysql庫,建議使用REPLICATE_IGNORE_DB將其屏蔽掉,在MySQL5.7里,已經支持動態對這些參數的操作

CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (mysql);

在主庫上對mysql庫進行操作時,需要加use mysql,否則不會進行過濾

3.? ? ? 對于REPLICATE_DO_DB也一樣,在操作時需要use db,否則不會進行同步

4.? ? ? 對于主從復制中出錯,不管是基于binlog_position還是GTID,和普通一對一復制解決思路一樣,只是在啟動復制的時候單獨啟動這一通道,等這一通道復制沒問題后,再啟動其它通道。例master_3307出錯,本例是基于binlog_position:

STOP SLAVE;

SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

START SLAVE FOR CHANNEL 'master_3307';

總結

以上是生活随笔為你收集整理的multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。