I have a Master-Slave replication setup and it looks like that it is running fine. Below is a result of SHOW SLAVE STATUS
command:
show slave STATUS\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: *.*.*.*
Master_User: repliV1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 10726644
Relay_Log_File: mysqld-relay-bin.000056
Relay_Log_Pos: 231871
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: data1
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: 10726644
Relay_Log_Space: 232172
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:
I would like to understand further about the Relay_Log_File
, Relay_Log_Pos
and Relay_Master_Log_File
.
My questions are:
-
Is it true that the relay log file is one which is being read and stored locally for the replication to run ?
-
What about the
relay_master_log_file
then; how is it different from theMaster_Log_File
? -
What are both of these values, viz.,
Read_Master_Log_Pos
andRelay_Log_Pos
? Why are they showing up even though the replication is complete and in sync ? -
Is it true that these files are in binary format, and hence I cannot view them ?
Best Answer
From
SHOW SLAVE STATUS\G
, get two valuesRelay_Log_File
: Current relay log accepting new entries during replicationRelay_Log_Pos
: Current position of the current relay log accepting new entries during replicationRelay_Master_Log_File
: Relay log file containing the last successfully executed SQL statement on the Master that was executed on the Slave.Yes, you can view the relay logs. Since they have the same structure as a regular binary log, just run the mysqlbinlog program. For example to view the SQL within any of you relay logs, such as the last one, do this: