案例1-主从库大量删除数据延时,查找原因与解决办法

环境:一主二从,MYSQL5.1版
1、由于某个人删除一个表的整个数据,数据量达到50万之多
2、主库上很快就执行删除完了,由于从库是单线程的,删除的速度太慢了,正因为用了Delete,造成从库延时7个小时,都没删除完,最终还是去摸索解决办法。
分析:
1、首先读取binlog看看,并打开监控日志,看看是从什么时候开始产生的延时,基本上可以定位到哪个时间段,查到是执行了哪个SQL语句执行的,也可以看看SLOW_LOG
2、这里还是不能太确定是哪个表,哪么就可以找另一个方法了
查看从库的data/test 这个目录下所有文件,用

ls -lh --sort=time|more

看看是哪个文件最近更改过,基本上可以肯定了,因为在不停的删除,一定是最近更改的
3、解决办法
直接killall掉MYSQL进程
删除从库下的master.info relay-log.info,删除这个是为了,在启动的时候,不自动同步。不然你没法停动,也没法更改POS值
4、找POS值
去哪里找呢,当然还是去BINLOG里面,找到删除命令的SQL语句,找到END_POS值,即可。