加了slave-skip-errors = 1062,是不会报1062的错了,但是自从加了这个变量为何从机同步的速度就跟不不上主机的速度了呢?。。我的意思是:mysql主从机同步数据之后,在从机的mysql的my.cnf中加了slave-skip-errors = 1062这个之后,第二天,我在九点半查看主从机的数据,主机的数据是在九点半,但是从机的数据却还在一点多。。但是在从机上show slave status \G;却并没有报任何的错。。
没有错误啊。。而且我手动用命令change master在从服务器更新了与主服务器的同步速度,查看时间差不多一直,但在到了第二天再一看又是慢了好几个小时。。为什么呢?会不会与同步的数据量大有关系?
追答relay binlog 跟主库的binglog差多久呢?
追问时间越长,主从同步的差异也就越长啊。。就是说如果今天下午1点用命令使主从机同步速度一致,可是到了明天上午九点查的话就会出现二三个小时的差异,12点查的话就会出现四五个小时的差异。。
追答1.看下SHOW SLAVE STATUS \G 中的Seconds_Behind_Master,这个值代表了从服务器数据比主服务器延迟多少秒,一般是0,你看下你的是多少。真的有几个小时?再看看Slave_IO_Running: 和 Slave_SQL_Running 这两个都应该是YES,否则就是复制出错了。它们分别表示丛库复制主库binlog的线程与丛库读取relay binlog的线程。主要就看这3个参数。
追问Slave_IO_Running: 和 Slave_SQL_Running 这两个都应该是YES,但Seconds_Behind_Master不是0,而是12764,而且我不断的SHOW SLAVE STATUS \G,Seconds_Behind_Master的值还会不断的增加。。这是为什么啊?
追答- -b...
Slave_IO_Running: 和 Slave_SQL_Running 如果没问题那么主从之间的复制是在正确进行的,至于延迟还在不断的增加,我也想不出来原因啦,可能是硬件方面的瓶颈吧。