Description:
When you setup a Slave and you make a mistake in the CHANGE MASTER statement, like wrong password for the replication user, fixing this and starting the slave again doesn't rest the Last_IO_Error. So even though replication is working fine, Last_IO_Err* fields in SHOW SLAVE STATUS is showing the original error.
Restarting the mysqld makes it OK (when slave was corrected before), just STOP/START the slave not.
How to repeat:
mysqld A, mysqld B
mysqld B has some kind of unavailability as master (e.g. replication rights missing, binlog pos not found, etc.)
mysqld A> change master to ... 'mysqld B' ...;
mysqld A> start slave;
mysqld A> show slave status;
...
Slave_IO_Running: No
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: NULL
...
Last_IO_Errno: 1045
Last_IO_Error: error connecting to master 'repl@localhost:3307' - retry-time: 60 retries: 86400
...
resolve the error on mysqld B:
mysqld A> show slave status;
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: 0
...
Last_IO_Errno: 1045
Last_IO_Error: error connecting to master 'repl@localhost:3307' - retry-time: 60 retries: 86400
...