久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL5.7的多源復制方法

165次閱讀
沒有評論

共計 6769 個字符,預計需要花費 17 分鐘才能閱讀完成。

本篇內容主要講解“MySQL5.7 的多源復制方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“MySQL5.7 的多源復制方法”吧!

     5.7 多源復制 1.1  實驗概要 1.1.1  實驗假設

本實驗假設已經完成操作系統和 MySQL 安裝部署。

1.1.2  實驗目的

MySQL5.7 的多源復制技術搭建部署,然后簡單測試。

1.1.3  環境信息

操作系統

MySQL 版本

服務器地址

服務器角色

Centos7

5.7.18

192.168.102.23

source 1

Centos7

5.7.18

192.168.102.24

source 2

Centos7

5.7.18

192.168.102.25

target

1.1.4  實驗規劃

服務器地址

服務器角色

MySQL 庫

賬戶

192.168.102.23

source 1

emily

repl23

192.168.102.24

source 2

evelyn

repl24

192.168.102.25

target

 

 

source 1.emily — target

source 2.evelyn — target

username:

source 1:repl23

source 2:repl24

1.2  實驗操作 1.2.1  源端備份數據庫

分別從 source1 和 source2 分別備份出 emily 和 evelyn 庫,然后分別 copy 到 target 中。其中操作步驟如下:

source 1:

## 備份

[root@dsm-db-102023 11:26:50 /root]

#mysqldump -uroot –pmysql –single-transaction
 –master-data=2 –databases emily /root/dump/emily.sql

## 傳輸

[root@dsm-db-102023 11:34:38 /root/dump]

#scp /root/dump/emily.sql
 root@192.168.102.25:/root/dump/

source 2:

## 備份

[root@test-mysql-10224 11:19:47 /root]

#mysqldump -uroot -pmysql
 –single-transaction –master-data=2 –databases evelyn
 /root/dump/evelyn.sql

## 傳輸

[root@dsm-db-102023 11:34:38 /root/dump]

#scp /root/dump/emily.sql
 root@192.168.102.25:/root/dump/

1.2.2  創建同步賬戶

分別在 source1 和 source2 中創建同步賬戶 repl23、repl24

source1

root@192.168.102.23:3306
 [emily] create user repl23 identified by repl

root@192.168.102.23:3306
 [(none)] grant replication slave on *.* to repl23 @ %

source2

root@192.168.102.24:3306
 [evelyn] create user repl24 identified by repl

root@192.168.102.24:3306
 [evelyn] grant replication slave on *.* to repl24 @ %

1.2.3  目標端恢復數據庫

## 恢復 evelyn 庫

root@192.168.102.25:3306
 [(none)] reset master

[root@dsm-db-102025 14:01:24 /root/dump]

#mysql -uroot -pmysql evelyn.sql

## 查看 gtid_purged

root@192.168.102.25:3306 [(none)] show
 global variables like %gtid_purged%

+—————+——————————————+

| Variable_name | Value  |

+—————+——————————————+

| gtid_purged  |
 921a9068-24d2-11e7-99b5-005056b59593:1-287,

bd783f44-258f-11e7-914b-005056b5d312:1-28071
 |

+—————+——————————————+

 

## 恢復 emily 庫

root@192.168.102.25:3306
 [(none)] reset master

[root@dsm-db-102025 14:21:22 /root/dump]

#mysql -uroot -pmysql
 /root/dump/emily.sql;

## 設置 source1 和 source2 的 gtid_purged

root@192.168.102.25:3306 [(none)] show
 variables like %gtid_purged%

+—————+——————————————+

| Variable_name | Value  |

+—————+——————————————+

| gtid_purged  | 7937ac78-3c39-11e7-b59e-005056b5d25f:1-4
 |

+—————+——————————————+

## set global gtid_purged= 921a9068-24d2-11e7-99b5-005056b59593:1-287,bd783f44-258f-11e7-914b-005056b5d312:1-28071,7937ac78-3c39-11e7-b59e-005056b5d25f:1-4

 

root@192.168.102.25:3306
 [(none)] reset master;

Query OK, 0 rows affected (0.01 sec)

 

root@192.168.102.25:3306 [(none)] set
 global
 gtid_purged= 921a9068-24d2-11e7-99b5-005056b59593:1-287,bd783f44-258f-11e7-914b-005056b5d312:1-28071,7937ac78-3c39-11e7-b59e-005056b5d25f:1-4

Query OK, 0 rows affected (0.00 sec)

 

root@192.168.102.25:3306 [(none)] show
 variables like %gtid_purged%

+—————+————————————————————————————————————————————+

| Variable_name | Value   |

+—————+————————————————————————————————————————————+

| gtid_purged  |
 7937ac78-3c39-11e7-b59e-005056b5d25f:1-4,

921a9068-24d2-11e7-99b5-005056b59593:1-287,

bd783f44-258f-11e7-914b-005056b5d312:1-28071
 |

+—————+————————————————————————————————————————————+

1 row in set (0.01 sec)

 

root@192.168.102.25:3306 [(none)]

1.2.4  修改 MySQL 存儲方式

修改 MySQL 存儲 master-info 和 relay-info 的方式,即從文件存儲改為表存儲

## 在線修改

STOP SLAVE;

SET GLOBAL master_info_repository =
  TABLE

SET GLOBAL relay_log_info_repository =
  TABLE

## 修改配置文件

[mysqld]

master_info_repository=TABLE

relay_log_info_repository=TABLE

1.2.5  同步操作

?  change master

登錄 slave 進行同步操作,分別 change master 到兩臺 master 主機,多源復制需要標注

FOR CHANNEL‘CHANNEL_NAME’區分

##source
 1

root@192.168.102.25:3306
 [(none)] CHANGE MASTER TO
 MASTER_HOST= 192.168.102.23 ,MASTER_USER= repl23 ,
 MASTER_PASSWORD= repl ,master_auto_position=1 FOR CHANNEL repl23

##source
 2

root@192.168.102.25:3306
 [(none)] CHANGE MASTER TO
 MASTER_HOST= 192.168.102.24 ,MASTER_USER= repl24 ,
 MASTER_PASSWORD= repl ,master_auto_position=1 FOR CHANNEL repl24

?  啟動 slave

啟動所有同步: start slave;

啟動單個同步: start slave for channel‘channel_name’;

## 啟動 source 1

root@192.168.102.25:3306
 [(none)] start slave for channel repl23

## 啟動 source 2

root@192.168.102.25:3306
 [(none)] start slave for channel repl24

?  檢查 slave 狀態

檢查所有 slave: show slave status\G;

檢查單個 slave: show slave status for chennel‘channel_name’\G;

## source 1

##source 1

root@192.168.102.23:3306
 [emily] insert into emily(id,name)values(2, evelyn

Query OK, 1 row affected (0.00 sec)

 

root@192.168.102.23:3306
 [emily] select * from emily;

+——+——–+

| id 
 | name  |

+——+——–+


 1 | emily  |


 2 | evelyn |

+——+——–+

2 rows in set (0.00 sec)

 

##target 驗證

 

root@192.168.102.25:3306
 [emily] select * from emily;

+——+——–+

| id 
 | name  |

+——+——–+


 1 | emily  |


 2 | evelyn |

+——+——–+

2 rows in set (0.00 sec)

 

## source 2

root@192.168.102.24:3306
 [evelyn] insert into evelyn(id,name)values(2, emily

Query OK, 1 row affected (1.00 sec)

 

root@192.168.102.24:3306
 [evelyn] select * from evelyn;

+——+——–+

| id 
 | name  |

+——+——–+


 1 | evelyn |


 2 | emily  |

+——+——–+

2 rows in set (0.00 sec)

## target 端

root@192.168.102.25:3306
 [evelyn] select * from evelyn;

+——+——–+

| id 
 | name  |

+——+——–+


 1 | evelyn |


 2 | emily  |

+——+——–+

2 rows in set (0.00 sec)

1.2.7  監控

select * from performance_schema.replication_connection_status\G;

##GTID

STOP
 SLAVE FOR CHANNEL‘CHANNEL_NAME’;

SET
 SESSION GTID_NEXT=’’;

BEGIN;COMMIT;

SET
 SESSION GTID_NEXT=’AUTOMATIC’;

START
 SLAVE FOR CHANNEL‘CHANNEL_NAME’;

## binlog+position

stop slave sql_thread FOR
 CHANNEL‘CHANNEL_NAME’;;

set global
 sql_slave_skip_counter=1;

start slave sql_thread FOR
 CHANNEL‘CHANNEL_NAME’;;

 

 

##

root@192.168.102.25:3306
 [(none)] set session
 gtid_next= bd783f44-258f-11e7-914b-005056b5d312:28083

Query
 OK, 0 rows affected (0.00 sec)

 

root@192.168.102.25:3306
 [(none)] begin;commit;

Query
 OK, 0 rows affected (0.00 sec)

 

root@192.168.102.25:3306
 [(none)] set session gtid_next=automatic;

Query
 OK, 0 rows affected (0.00 sec)

 

root@192.168.102.25:3306
 [(none)] start slave for channel repl24

Query
 OK, 0 rows affected (0.00 sec)

1.2.9   遇見錯誤

1、  Last_IO_Error: Relay log write failure: could not queue event from
 master  ##repl24

Last_IO_Error: Fatal error: Failed
 to run after_read_event hook 
 ##repl23

stop slave

start slave

最后發現是開啟一個源開啟了半同步復制,一個源沒有開題半同步復制。

2、  清除 slave 信息

reset slave

## 創建多源復制過程中,發現有一個 slave 沒有 channel_name,使用如下語句清除 slave 信息

reset slave all for channel

3、  root@192.168.102.24:3306 [evelyn] uninstall plugin
 rpl_semi_sync_master;

Query OK, 0 rows affected (0.01 sec)

root@192.168.102.24:3306 [evelyn] uninstall plugin
 rpl_semi_sync_slave;

Query OK, 0 rows affected (0.00
 sec) 

到此,相信大家對“MySQL5.7 的多源復制方法”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計6769字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 竹山县| 天镇县| 偏关县| 高青县| 炎陵县| 青浦区| 香港| 航空| 珲春市| 泊头市| 景宁| 保靖县| 徐水县| 武穴市| 临夏市| 济南市| 云南省| 连云港市| 武安市| 榆林市| 五寨县| 兴国县| 连州市| 六枝特区| 大理市| 九龙城区| 元江| 米脂县| 册亨县| 博乐市| 镇远县| 米易县| 莱芜市| 大悟县| 大洼县| 柯坪县| 鄢陵县| 西盟| 犍为县| 武川县| 商都县|