Hi,
Recently I have faced an issue in Master Slave replication.Unfortunately slave stops it replication and it throws an error as,
[ERROR] Slave SQL: Could not execute Update_rows event on table DBname.tablename; Lock wait timeout exceeded; try restarting transaction,
Error_code: 1205; handler error HA_ERR_LOCK_WAIT_TIMEOUT; the event's master log mysql-bin.******, end_log_pos *******, Error_code: 1205
To clear the error. I did,
show slave status\G
stop slave;
start slave;
Now error has gone and replication runs successfully.
It happens at sometime when a query takes long time to execute.
Thank you...
Saturday, April 27, 2013
Replication_Error: Error_code : 1205; handler error HA_ERR_LOCK_WAIT_TIMEOUT;
Labels:
handler error,
master,
master_slave replication,
MySQL replication,
show slave status.,
slave,
start slave,
stop slave
Friday, April 19, 2013
MySQL Until_log_file and Until_log_pos
How to use until option in MySQL Replication.
Some times we need updates in replication for until binlog file and position, during that time we can use this option in Slave server.
Here I gave how to do it.
The above fig. shows there is no until condition in slave status.
1.Give the change master query.
Change master to
master_user='user name',
master_host='host name',
master_password='******',
master_log_file='mysql-bin.000142',
master_log_pos='562483'
master_port='3306';
2.Dont use START SLAVE;
first start the IO thread. START SLAVE IO_THREAD;
3.Now give the until condition while start the SQL thread,
START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='mysql-bin.000146',
MASTER_LOG_POS=178741931;
or
START SLAVE SQL_THREAD UNTIL RELAY_LOG_FILE='mysql-bin.******',
RELAY_LOG_POS=*****;
4.Now See, SLAVE STATUS\G
Here we can see the until condition is MASTER and see the until_log_file and until_log_pos that what are the values we gave when we started the SQL thread.The replication will be happen until the given values.
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/start-slave.html
Some times we need updates in replication for until binlog file and position, during that time we can use this option in Slave server.
Here I gave how to do it.
The above fig. shows there is no until condition in slave status.
1.Give the change master query.
Change master to
master_user='user name',
master_host='host name',
master_password='******',
master_log_file='mysql-bin.000142',
master_log_pos='562483'
master_port='3306';
2.Dont use START SLAVE;
first start the IO thread. START SLAVE IO_THREAD;
3.Now give the until condition while start the SQL thread,
START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='mysql-bin.000146',
MASTER_LOG_POS=178741931;
or
START SLAVE SQL_THREAD UNTIL RELAY_LOG_FILE='mysql-bin.******',
RELAY_LOG_POS=*****;
4.Now See, SLAVE STATUS\G
Here we can see the until condition is MASTER and see the until_log_file and until_log_pos that what are the values we gave when we started the SQL thread.The replication will be happen until the given values.
Until_Condition
has these values:
-
None
if noUNTIL
clause was specified -
Master
if the slave is reading until a given position in the master's binary log -
Relay
if the slave is reading until a given position in its relay log
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/start-slave.html
Labels:
binary log,
IO thread,
log_file,
log_pos,
master,
relay log,
slave,
slave status,
SQL thread,
start slave,
until