show processlist
查看两个线程的更新状态mysql> show processlist\G
*************************** 1. row ***************************
Id: 6
User: rep
Host: 192.168.0.200:45738
db: NULL
Command: Binlog Dump
Time: 102
State: Master has sent all binlog to slave; waiting for binlog to be updated
Info: NULL
*************************** 2. row ***************************
Id: 7
User: root
Host: localhost
db: NULL
Command: Query
Time: 0
State: NULL
Info: show processlist
master.info
文件的同步情况# cat /usr/local/mysql/data/3307/data/master.info
# cat /usr/local/mysql/data/3308/data/master.info
18
mysql-bin.000001
423
192.168.0.200
rep
reppasswd
3306
60
0
0
1800.000
0
确保更新完毕,看看几个从库中那个最快,经过测试没有延迟的情况POS点差距很小,甚至是一致的。(确保从库和主库的一致性更高,数据丢失更少,选择将同步最快的提升为主库)
确保所有relay log
全部更新完毕
在每个从库执行 stop slave io_thread;
show processlist;
直到看到Has read all relay log;
表示从库的更新都执行完毕。
登录选定好的从库例端口3307 执行stop slave;
和 reset master;
进入到选定的从库数据库端口3307文件目录删除master.info
relay-log.info
,检查授权表,read-only
参数
3307端口提升从库为主库vim /usr/local/mysql/data/3307/my.cnf
开启log-bin = /usr/local/mysql/data/3307/mysql-bin
另外:如果存在log-slave-updates
read-only
等参数一定要注释掉,然后重启mysql服务器。
内容来源于网络,如有侵权,请联系作者删除!