Skip to content

Instantly share code, notes, and snippets.

@yoku0825
Last active June 22, 2016 08:09
Show Gist options
  • Save yoku0825/6421819 to your computer and use it in GitHub Desktop.
Save yoku0825/6421819 to your computer and use it in GitHub Desktop.
replication_filter
mysql56> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: replicator
Master_Port: 64055
Connect_Retry: 60
Master_Log_File: bin.000001
Read_Master_Log_Pos: 184
Relay_Log_File: relay.000005
Relay_Log_Pos: 337
Relay_Master_Log_File: bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: d1
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: 184
Relay_Log_Space: 496
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: 1055
Master_UUID:
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
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
1 row in set (0.00 sec)
-- replicate-do-db= d1です。
$ mysql55 -e "create table d1.t1 ( num int )"
$ mysql55 -e "create table d1.t2 ( num int )" d1
$ mysql55 -e "create table d1.t3 ( num int )" mysql
-- current_databaseがNULL, d1, mysqlの順で3テーブル作ります。
$ mysqlbinlog /usr/mysql/5.5.33/data/bin.000001
..
# at 184
#130903 18:43:48 server id 1055 end_log_pos 263 Query thread_id=9 exec_time=0 error_code=0
SET TIMESTAMP=1378201428/*!*/;
create database d1
/*!*/;
# at 263
#130903 18:44:13 server id 1055 end_log_pos 352 Query thread_id=11 exec_time=0 error_code=0
SET TIMESTAMP=1378201453/*!*/;
create table d1.t1 ( num int )
/*!*/;
# at 352
#130903 18:44:20 server id 1055 end_log_pos 443 Query thread_id=12 exec_time=0 error_code=0
use `d1`/*!*/;
SET TIMESTAMP=1378201460/*!*/;
create table d1.t2 ( num int )
/*!*/;
# at 443
#130903 18:44:33 server id 1055 end_log_pos 537 Query thread_id=13 exec_time=0 error_code=0
use `mysql`/*!*/;
SET TIMESTAMP=1378201473/*!*/;
create table d1.t3 ( num int )
/*!*/;
DELIMITER ;
# End of log file
..
-- マスターのバイナリーログには当然記録されています。
$ mysqlbinlog /usr/mysql/5.6.13/data/relay.000005
..
# at 337
#130903 18:43:48 server id 1055 end_log_pos 263 Query thread_id=9 exec_time=0 error_code=0
SET TIMESTAMP=1378201428/*!*/;
create database d1
/*!*/;
# at 416
#130903 18:44:13 server id 1055 end_log_pos 352 Query thread_id=11 exec_time=0 error_code=0
SET TIMESTAMP=1378201453/*!*/;
create table d1.t1 ( num int )
/*!*/;
# at 505
#130903 18:44:20 server id 1055 end_log_pos 443 Query thread_id=12 exec_time=0 error_code=0
use `d1`/*!*/;
SET TIMESTAMP=1378201460/*!*/;
create table d1.t2 ( num int )
/*!*/;
# at 596
#130903 18:44:33 server id 1055 end_log_pos 537 Query thread_id=13 exec_time=0 error_code=0
use `mysql`/*!*/;
SET TIMESTAMP=1378201473/*!*/;
create table d1.t3 ( num int )
/*!*/;
DELIMITER ;
# End of log file
..
-- スレーブのリレーログにも記録されています。
mysql56> show tables from d1;
+--------------+
| Tables_in_d1 |
+--------------+
| t2 |
+--------------+
1 row in set (0.00 sec)
-- しかし、実行はされません。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment