溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用replicate-rewrite-db實(shí)現(xiàn)復(fù)制映射以及Replicate_Wild_Do_Table實(shí)現(xiàn)復(fù)制過(guò)濾

發(fā)布時(shí)間:2021-10-08 15:46:15 來(lái)源:億速云 閱讀:181 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

本篇文章給大家分享的是有關(guān)如何使用replicate-rewrite-db實(shí)現(xiàn)復(fù)制映射以及Replicate_Wild_Do_Table實(shí)現(xiàn)復(fù)制過(guò)濾,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

node1和node2為兩臺(tái)不同業(yè)務(wù)的MySQL服務(wù)器

業(yè)務(wù)方有個(gè)需求,需要將node1上的employees庫(kù)的departments 、dept_manager 這2張表同步到 node2 的 hellodb 庫(kù)下面。

node1的employee 里面有如下6張表:

employees > show tables;

+---------------------+

| Tables_in_employees |

+---------------------+

| departments         |

| dept_manager        |

| dept_emp            |

| employees           |

| salaries            |

| titles              |

+---------------------+

node2只要復(fù)制它的 departments 、dept_manager 表到hellodb庫(kù)里面。

實(shí)驗(yàn)了下,整理好的詳細(xì)操作步驟如下:

1、在node1導(dǎo)出數(shù)據(jù)并傳送到node2去:

mysqldump -uroot -pAbcd@1234 -q --single-transaction employees departments dept_manager --master-data=2 > employees.sql   # 注意導(dǎo)出的時(shí)候不要加-B

scp employees.sql node2:/root/

2、然后到node2,導(dǎo)入剛才的數(shù)據(jù)

mysql -uroot -pAbcd@1234 hellodb

source /root/employees.sql 

show tables;

+-------------------+

| Tables_in_hellodb |

+-------------------+

| departments       |

| dept_manager      |

| students          |

| teachers          |

+-------------------+

4 rows in set (0.00 sec)

可以看到2個(gè)表導(dǎo)入進(jìn)來(lái)了。

head -35 /root/employees.sql , 記下change master to 的位置 ,例如

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql.000021', MASTER_LOG_POS=234757251;

3、停node2,改配置文件

/etc/int.d/mysql stop 

修改node2 配置文件,加上下面3行: 

replicate-rewrite-db = employees -> hellodb

replicate-wild-do-table=hellodb.departments

replicate-wild-do-table=hellodb.dept_manager

/etc/int.d/mysql start 

4、配置主從關(guān)系

CHANGE MASTER TO 

 MASTER_HOST='192.168.2.171',

 MASTER_USER='rpl',

 MASTER_PASSWORD='Abcd@1234',

 MASTER_LOG_FILE='mysql.000021',

 MASTER_LOG_POS=234757251;

show slave status \G 

[(none)] > show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: 

                  Master_Host: 192.168.2.171

                  Master_User: rpl

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql.000021

          Read_Master_Log_Pos: 234757251

               Relay_Log_File: t72-relay-bin.000001

                Relay_Log_Pos: 4

        Relay_Master_Log_File: mysql.000021

             Slave_IO_Running: No

            Slave_SQL_Running: No

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: hellodb.departments,hellodb.dept_manager

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0

                   Last_Error: 

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 234757251

              Relay_Log_Space: 154

              Until_Condition: None

               Until_Log_File: 

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File: 

           Master_SSL_CA_Path: 

              Master_SSL_Cert: 

            Master_SSL_Cipher: 

               Master_SSL_Key: 

        Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 0

                  Master_UUID: 

             Master_Info_File: /data/mysql/master.info

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: 

           Master_Retry_Count: 86400

                  Master_Bind: 

      Last_IO_Error_Timestamp: 

     Last_SQL_Error_Timestamp: 

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

           Retrieved_Gtid_Set: 

            Executed_Gtid_Set: 

                Auto_Position: 0

         Replicate_Rewrite_DB: (employees,hellodb)

                 Channel_Name: 

           Master_TLS_Version: 

1 row in set (0.00 sec)

start slave; 

show slave status \G 

[(none)] > show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.2.171

                  Master_User: rpl

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql.000021

          Read_Master_Log_Pos: 234757251

               Relay_Log_File: t72-relay-bin.000002

                Relay_Log_Pos: 316

        Relay_Master_Log_File: mysql.000021

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: hellodb.departments,hellodb.dept_manager

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0

                   Last_Error: 

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 234757251

              Relay_Log_Space: 521

              Until_Condition: None

               Until_Log_File: 

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File: 

           Master_SSL_CA_Path: 

              Master_SSL_Cert: 

            Master_SSL_Cipher: 

               Master_SSL_Key: 

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 71

                  Master_UUID: 02d27620-1d8c-11e7-b028-000c295b7c01

             Master_Info_File: /data/mysql/master.info

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

           Master_Retry_Count: 86400

                  Master_Bind: 

      Last_IO_Error_Timestamp: 

     Last_SQL_Error_Timestamp: 

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

           Retrieved_Gtid_Set: 

            Executed_Gtid_Set: 

                Auto_Position: 0

         Replicate_Rewrite_DB: (employees,hellodb)

                 Channel_Name: 

           Master_TLS_Version: 

1 row in set (0.00 sec)

5、測(cè)試

在node1上測(cè)試下吧。

以上就是如何使用replicate-rewrite-db實(shí)現(xiàn)復(fù)制映射以及Replicate_Wild_Do_Table實(shí)現(xiàn)復(fù)制過(guò)濾,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI