i have situation dns server records master , records being replicated master slave , slave being used resolution. replication broke after mysql server upgrade. mysql server stopped , name of log file , log position changed until mysql recovered. know if change log position , log file name, replication start miss lot of updates , don't want. should restart master slave replication without losing updates on master. every single update important. here information slave status.
slave_io_running: no slave_sql_running: yes last_io_errno: 1236 last_io_error: got fatal error 1236 master when reading data binary log: 'could not find first log file name in binary log index file'
thanks
you may in nice surprise here goes:
run show slave status\g
. sake of example, let's this:
slave_io_state: waiting master send event master_host: 10.64.68.253 master_user: replusername master_port: 3306 connect_retry: 60 master_log_file: mysql-bin.003202 read_master_log_pos: 577991837 relay_log_file: relay-bin.010449 relay_log_pos: 306229695 relay_master_log_file: mysql-bin.003202 slave_io_running: yes slave_sql_running: yes replicate_do_db: 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: 577991837 relay_log_space: 306229695 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
you choose following display:
relay_master_log_file
(mysql-bin.003202
)exec_master_log_pos
(577991837
)
here why: relay_master_log_file
, exec_master_log_pos
represent binlog entry master made slave , executed successfully. pickup there.
you run code:exec_master_log_pos
stop slave; change master master_log_file='mysql-bin.003202', master_log_pos=577991837; start slave;
give try !!!
caveat
if relay_master_log_file
no longer exists on master, may have damage control. given show slave status\g
mentioned before, may have skip next binary log on master follows:
stop slave; change master master_log_file='mysql-bin.003203', master_log_pos=4; start slave;
if replication catches up, not out of woods just. may have download percona toolkit , run pt-table-checksum , pt-table-sync repair lost data on slave.
if replication not off ground, have perform due diligence , reload slave.
hopefully, may not have in caveat if replication works original suggestion.
Comments
Post a Comment