国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql如何在線修改主從復制選項

瀏覽:106日期:2023-10-13 12:39:35

前言:

MySQL最常用的架構就是主從復制了,其實主從復制有很多選項,特別是在從庫端,我們可以設置復制過濾,比如說忽略某張表或某個庫。這些過濾選項都是可以在線修改而不用重啟的。原來對這塊了解不多,最近看了下相關資料,個人覺得這個功能還是很方便的,本篇文章會將這塊內容分享給大家。

1.復制過濾參數介紹

首先我們要了解設置復制過濾的不同參數。復制過濾是在從庫端設置的,可以只復制某些庫或某些表,也可以忽略復制某些庫或某些表。這些都是由不同參數控制的,下面簡單介紹下不同參數的作用。

REPLICATE_DO_DB:指定只同步某個庫的數據 REPLICATE_IGNORE_DB:忽略某個庫的同步 REPLICATE_DO_TABLE:指定同步某個表 REPLICATE_IGNORE_TABLE:忽略某個表的同步 REPLICATE_WILD_DO_TABLE:指定同步某些表,可以用通配符 REPLICATE_WILD_IGNORE_TABLE:忽略某些表的同步,可以用通配符 REPLICATE_REWRITE_DB:從庫端替換庫名

這些復制過濾參數還是很好理解的,只看名字就能大概了解該參數的作用。默認情況下,這些參數是都沒有設置的,開啟主從復制后從庫端會默認同步全部從主庫發來的數據。

2.修改復制過濾選項

當我們想臨時調整從庫的復制策略時,可以設置上述參數。我們可以將過濾參數寫入配置文件然后重啟從庫即可應用,但這種方法需要重啟實例,不做推薦。MySQL5.7版本可以進行在線設置復制過濾了。但是還是得停復制,不過不用重啟實例了,方便進行臨時性的調整。主要用到的是CHANGE REPLICATION FILTER語句,下面就簡單的測試一下:

# 默認未設置復制過濾mysql> show slave statusG*************************** 1. row ***************************Slave_IO_State: Waiting for master to send event Master_Host: 10.0.3.16 Master_User: repl Master_Port: 3306Connect_Retry: 60 Master_Log_File: binlog.000004 Read_Master_Log_Pos: 35198Relay_Log_File: relay-bin.000002Relay_Log_Pos: 910 Relay_Master_Log_File: binlog.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 35198 # 設置忽略db1庫的復制 mysql> STOP SLAVE SQL_THREAD;Query OK, 0 rows affected (0.00 sec)mysql> CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (db1);Query OK, 0 rows affected (0.00 sec)mysql> START SLAVE SQL_THREAD;Query OK, 0 rows affected (0.01 sec)mysql> show slave statusG*************************** 1. row ***************************Slave_IO_State: Waiting for master to send event Master_Host: 10.0.3.16 Master_User: repl Master_Port: 3306Connect_Retry: 60 Master_Log_File: binlog.000004 Read_Master_Log_Pos: 35198Relay_Log_File: relay-bin.000002Relay_Log_Pos: 910 Relay_Master_Log_File: binlog.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: db1 Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 35198 # 主庫創建db1測試從庫是否同步mysql> CREATE DATABASE `db1` DEFAULT CHARACTER SET utf8;Query OK, 1 row affected (0.01 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || db1|| mysql || performance_schema || sys|| testdb |+--------------------+6 rows in set (0.00 sec)# 查看從庫狀態mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys|| testdb |+--------------------+5 rows in set (0.00 sec)mysql> show slave statusG*************************** 1. row ***************************Slave_IO_State: Waiting for master to send event Master_Host: 10.0.3.16 Master_User: repl Master_Port: 33061Connect_Retry: 60 Master_Log_File: binlog.000004 Read_Master_Log_Pos: 35383Relay_Log_File: relay-bin.000002Relay_Log_Pos: 1095 Relay_Master_Log_File: binlog.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: db1 Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 35383 # 取消復制過濾參數mysql> STOP SLAVE SQL_THREAD;Query OK, 0 rows affected (0.01 sec)mysql> CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = ();Query OK, 0 rows affected (0.00 sec)mysql> START SLAVE SQL_THREAD;Query OK, 0 rows affected (0.01 sec)mysql> show slave statusG*************************** 1. row ***************************Slave_IO_State: Waiting for master to send event Master_Host: 10.0.3.16 Master_User: repl Master_Port: 3306Connect_Retry: 60 Master_Log_File: binlog.000004 Read_Master_Log_Pos: 35383Relay_Log_File: relay-bin.000002Relay_Log_Pos: 1095 Relay_Master_Log_File: binlog.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 35383

上面我們簡單演示了下使用CHANGE REPLICATION FILTER語句在線修改復制過濾選項的方法,列舉的那些過濾參數都可以使用該語句修改,不過要注意有些選項是互斥的。應該按照實際需求去設置合適的參數,下面給出官方文檔中的示范語法:

CHANGE REPLICATION FILTER filter[, filter][, ...]filter: REPLICATE_DO_DB = (db_list) | REPLICATE_IGNORE_DB = (db_list) | REPLICATE_DO_TABLE = (tbl_list) | REPLICATE_IGNORE_TABLE = (tbl_list) | REPLICATE_WILD_DO_TABLE = (wild_tbl_list) | REPLICATE_WILD_IGNORE_TABLE = (wild_tbl_list) | REPLICATE_REWRITE_DB = (db_pair_list)db_list: db_name[, db_name][, ...]tbl_list: db_name.table_name[, db_table_name][, ...]wild_tbl_list: ’db_pattern.table_pattern’[, ’db_pattern.table_pattern’][, ...]db_pair_list: (db_pair)[, (db_pair)][, ...]db_pair: from_db, to_db

總結:

本篇文章介紹了如何在線更改復制過濾選項的方法,不同的過濾參數有不同的用途,如果你確實有需求要設置過濾參數,建議一定要進行全面測試,某些參數設置后可能影響到其他庫表的復制。如果想永久生效,可以在線修改后再加入配置文件內,這樣從庫重啟后還是生效的。

以上就是mysql如何在線修改主從復制選項的詳細內容,更多關于mysql修改主從復制的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 特及毛片| 二级黄的全免费视频 | 亚洲品质自拍 | 欧美与黑人午夜性猛交久久久 | 亚洲人成网址在线播放a | 日韩a一级欧美一级 | 亚洲欧美中文日韩二区一区 | 三级com | 特黄日韩免费一区二区三区 | 一级做a爱片特黄在线观看免费看 | 日韩亚洲成a人片在线观看 日韩亚洲精品不卡在线 | 毛片免费全部播放一级 | 草草日| japanese 色系 tube日本 | 日本加勒比高清一本大道 | 亚洲午夜在线观看 | 成在线人视频免费视频 | 国产2021中文天码字幕 | 成人看片黄a免费看视频 | 国产精品三级 | 嫩模大尺度人体福利视频 | 日韩中文字幕网 | 国产欧美精品区一区二区三区 | 深夜国产成人福利在线观看女同 | 久久综合狠狠综合久久综合88 | 一级片美女 | 亚洲国产天堂久久综合网站 | 在线国产毛片 | 日韩亚洲成a人片在线观看 日韩亚洲精品不卡在线 | 114一级毛片免费 | 亚洲不卡影院 | 久久国产免费观看精品1 | 一男一女的一级毛片 | 大美女香蕉丽人视频网站 | 精品国产一区二区三区久 | 国产一毛片 | 国产a∨一区二区三区香蕉小说 | 国产精品久久久久久久 | 日本免费不卡在线一区二区三区 | 国产免费高清在线精品一区 | 国产超薄肉色丝袜足j |