MySql主从拓展

mysql主从数据库不同步的解决方法

先检查master库

mysql>show processlist;查看下进程是否sleep太多。发现正常。

mysql>show master status;也正常

再到从slave上查看

mysql>show slave statusG

Slave_SQL_Running:NO;发现是从slave出现问题。

第一种:重新做主从

step1:先进入主库,把表锁起来,防止数据写入

mysql>flush tables with read lock

step2:数据备份

[root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql

step3:查看主master状态

mysql>show master status;

step4:把mysql备份文件传到从库及其,进行数据恢复

[root@server01 mysql]#scp mysql.bak.sql root@192.168.5.129:/tmp/

step5:停止从库的状态

mysql>stop slave;

step6:从库执行mysql命令,导入之前的数据备份

mysql>source /tmp/mysql.bak.sql

step7:设置从库同步,该处的同步点就是主库show master status信息里的File|Position两项

change master to master_host = '192.168.5.128, master_user = 'rsync', master_port=3306, master_password=''

, master_log_file = 'aminglinux000001',  master_log_pos=6790

step8:重新开启从同步

mysql>stop slave;

问题:从库无法同步

Slave_SQL_Running值为NO,或者Second_Bebind_Master值为Null

原因:1.程序有可能在slave上进行了写操作2可能是slave机器重启后,事务回滚造成的

solution1:

mysql>stop slave;

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql > start slave

solution2:

step1:stop  slave;

step2:查看主服务器上当前的bin-log日志名和偏移量

step3:获取信息后,到从服务器上执行手动同步,即上一个问题步骤step7

原文地址:https://www.cnblogs.com/sisul/p/8711570.html