Hello,
im in the proces of moving a single master(mariadb 10.0.15) to a multi node galera cluster(10.3.9)
so i currently have one galera node replicating from the current master.
i also have a 3th slave that is currently replicating from the current master.
so i did a change master on the 3th slave to check if i can replicate from the galera node.
and the following happened:
this is while replicating from the current master. everything is fine here:
*************************** 1. row ***************************
Slave_IO_State: Queueing master event to the relay log
Master_Host: 10.1.214.101
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.041929
Read_Master_Log_Pos: 336868991
Relay_Log_File: relay.000609
Relay_Log_Pos: 336869248
Relay_Master_Log_File: mysql-bin.041929
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,mysql
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table: test.admoney,test.campaigndaybudgeds,test.campaigndaybudgeds_pops,test.campaigndaybudgeds_speed,test.loginattempts
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 336868953
Relay_Log_Space: 336869624
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: 101
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: Current_Pos
Gtid_IO_Pos: 0-101-152368736455
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
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
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 35173761
Slave_Transactional_Groups: 12
but when i change to the new master i get the following error:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.1.214.100
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000573
Read_Master_Log_Pos: 406381234
Relay_Log_File: relay.000586
Relay_Log_Pos: 172156660
Relay_Master_Log_File: mysql-bin.000573
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB: test,mysql
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table: test.admoney,test.campaigndaybudgeds,test.campaigndaybudgeds_pops,test.campaigndaybudgeds_speed,test.loginattempts
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1146
Last_Error: Error executing row event: ‘Table ‘test.loginattempts’ doesn’t exist’
Skip_Counter: 0
Exec_Master_Log_Pos: 401792970
Relay_Log_Space: 176745219
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: 1146
Last_SQL_Error: Error executing row event: ‘Table ‘test.loginattempts’ doesn’t exist’
Replicate_Ignore_Server_Ids:
Master_Server_Id: 100
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: Current_Pos
Gtid_IO_Pos: 0-101-152368802207
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 35230746
Slave_Transactional_Groups: 24
i already have slave-skip-errors = all
i just state that test.loginattempts should be ignored so why it fails on that one?
the only difference i can think of is that the current master uses statement based replication. and the new master uses row based replication.
it seems to me that Replicate_Ignore_Table simply is not working when using row based replication.
i hope someone can clear this up cause i dont understand why this is happening.