收到大量邮件报警想必事出有因,就问同事到底发生了什么?同事登陆从库查看,发现出现以下报错提示,表示与主库同步失败,一直卡在哪里,看他弄了两个多小时,问题愈来愈多,解决一个恢复平静了一两分钟又不行了。。。。因而报警的邮件又是一封又一份。。。因而向我求助。登陆从库后发现:mysql
其中一台从库报错内容为:sql
1 mysql> show slave status\G; 2 3 Slave_IO_Running: Yes 4 Slave_SQL_Running: No 5 6 Last_Errno: 1008 7 8 Last_Error: Error 'Can't drop database 'lcp'; database doesn't exist' on query. Default database: 'lcp'. Query: 'drop database lcp'
建立库失败,服务器
查看日志app
1 mysql> SHOW GLOBAL VARIABLES LIKE '%log%'; 2 3 | log_error | /application/mysql/data/db03.err 日志路径并无动,默认 4 5 | log_warnings | 1 还好启用日志了。。。
切一个窗口查看日志:运维
发现错误报告,不能与主库同步,上一条报告lcp库已存在。。纳闷你拿我名字当库名干啥。。。狠批一顿。(后来得知是以为我名字有威慑力,吓唬吓唬服务器,笑哭...)spa
言归正传指针
我看了一下他的历史操做记录,想建立“lcp”库却发现此库已存在,想删掉“lcp”库,却发现系统报错此库不存在。而后我就很郁闷的问他你到底对服务器作了啥!!!rest
真是不怕没脑子的队友,,就怕。。。。哈哈,固然开个玩笑,排错也是成长的过程,我很喜欢我这个队友,他常常给我提供成长的空间。(Ps:不要轻易模仿!!尤为是生产环境!!!)日志
1 160524 10:53:41 [Warning] Slave: Can't create database 'min'; database exists Error_code: 1007 2 160524 10:53:41 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-b 3 in.000758' position 1077 4 160524 11:53:17 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
因而我继续往上翻错误日志,发现一条相似的提示:min库已存在,没法完成建立。当时彷佛想到了什么。就问了一句,你是否是在两台mysql服务器上同时建立了min库?猪同样的队友给个人回答居然是:“是!”!!!!!好吧原谅他是新手。既然问题找到了方法天然就简单了,还好是其中一台从库,不会形成很大的影响,因而选择最简单的办法:code
mysql> slave stop;
Query OK, 0 rows affected (0.01 sec)
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
至此解决完成,虽然用了规避的方法去解决有点不太光明磊落(1007能够忽略),可是排错思路必定要清晰,虽然说不是生产环境,若是要是生产环境超出5分钟的排措时间都不是一个合格的运维人应该作的事情,此处发一篇博文也给本身存个档,顺便帮助一下须要的人。