Mysql主从复制恢复,当主服务器出现故障时,可将从服务器当主服务器,然后把原来的主服务器变成从服务器。
当主服务器出现故障时,可将从服务器当主服务器来使用.步骤如下:
1、保证所有从数据库都已经执行了relay log中的全部更新,在从服务器中执行stop slave io_thread,用show processlist检查,查看状态是否是Has read all relay log,表示更新完成.
mysql>stop slave io_thread;
Query OK,0 affected (0.00 sec)
mysql>show processlistG
*************************** 2. row ***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 4757
State: Has read all relay log; waiting for the slave I/O thread to update it
Info: NULL
2、在从服务器上执行stop slave,reset master命令,重置成主数据库
mysql>stop slave;Query OK,0 affected (0.00 sec)
mysql>reset master;Query OK,0 affected (0.00 sec)
3、删除新的主服务器数据库目录中的master.info和relay-log.info文件,否则下次重启时还会按照从服务器来启动.
4.show slave status G;如下报错:
Last_IO_Error: error connecting to master ‘tongbu@192.168.2.109:0′ – retry-time: 123456 retries: 86400
解决报错:
首先在master服务器上执行:mysql> show master status; 如下:
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000002 | 2535 | | |
+——————+———-+————–+——————+
1 row in set (0.01 sec)
然后在从服务器执行:
CHANGE MASTER TO MASTER_HOST=’192.168.2.109′,MASTER_PORT=3306,MASTER_USER=’tongbu’,MASTER_PASSWORD=’123456′,MASTER_LOG_FILE=’mysql-bin.000002′,MASTER_LOG_POS=2535;
以上语句大写,这样在show slave status G 就ok了!
原文来自
http://www.banping.com/2011/03/08/show-slave-status-change-master-to/
http://hi.baidu.com/wuyaheyanzi/blog/item/c2b53e08d65a9095d0581bee.html
转载请注明:爱开源 » error connecting to master retry-time: 60 retries: 86400