此文办法只用应急, 别的办法我还没想到,  文章是Copy来的

MySQL主从同步报错排错结果及修复过程之:Slave_SQL_Running: No

起因调查:

  收到大量邮件报警想必事出有因,就问同事到底发生了什么?同事登录从库查看,发现出现如下报错提示,表示与主库同步失败,一直卡在哪里,看他弄了两个多小时,问题越来越多,解决一个恢复平静了一两分钟又不行了。。。。于是报警的邮件又是一封又一份。。。于是向我求助。登录从库后发现:

  其中一台从库报错内容为:

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'

创建库失败,

查看日志

1 mysql> SHOW  GLOBAL VARIABLES LIKE '%log%';
2
3 | log_error | /application/mysql/data/db03.err     日志路径并没有动,默认
4
5 | log_warnings | 1                    还好启用日志了。。。

切一个窗口查看日志:

发现错误报告,不能与主库同步,上一条报告lcp库已存在。。纳闷你拿我名字当库名干啥。。。狠批一顿。(后来得知是觉得我名字有威慑力,吓唬吓唬服务器,笑哭...)

言归正传

  我看了一下他的历史操作记录,想创建“lcp”库却发现此库已存在,想删掉“lcp”库,却发现系统报错此库不存在。然后我就很郁闷的问他你到底对服务器做了啥!!!

  真是不怕没脑子的队友,,就怕。。。。哈哈,当然开个玩笑,排错也是成长的过程,我很喜欢我这个队友,他经常给我提供成长的空间。(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库?猪一样的队友给我的回答竟然是:“是!”!!!!!好吧原谅他是新手。既然问题找到了方法自然就简单了,还好是其中一台从库,不会造成很大的影响,于是选择最简单的办法:

   将binglog指针下移一个位置。

解决方案:

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分钟的排措时间都不是一个合格的运维人应该做的事情,此处发一篇博文也给自己存个档,顺便帮助一下需要的人。

Last_SQL_Error: Error 'Can't drop database的更多相关文章

  1. Last_SQL_Error: Error 'Can't drop database 'ABC'; database doesn't exist' on query. Default database: 'ABC'. Query: 'drop database ABC'

    查看从库状态发现报错: show slave status\G; 发现是主库上删除了一个数据库,但是从库上面没有,从库执行这个语句的时候失败报错. 解决方法: 停止从库 stop slave; 创建语 ...

  2. GTID复制报错处理:Last_Error: Error 'Can't drop database 'test'; database doesn't exist' on query

    创建GTID主从连接: mysql, master_user; 报错显示: Slave_IO_Running: Yes Slave_SQL_Running: No Last_Error: Error ...

  3. MGR_ERROR 3092 (HY000): DROP DATABASE failed;

    start group_replication;时报以下错: ERROR 3092 (HY000): DROP DATABASE failed; some tables may have been d ...

  4. mysql主从复制错误:Last_SQL_Error: Error 'Duplicate entry '327' for key 'PRIMARY'' on query. Default database: 'xxx'. Query: 'insert into

    这个算不算解决,我都不太清楚,因为我感觉网上的说法,只是把错误忽略了,不表示以后用从库时不会出问题!!! 解决的办法是在从库上执行: mysql> slave stop; mysql> s ...

  5. unknow table alarmtemp error when drop database (mysql)

    Q: unknow table alarmtemp error when  drop database (mysql) D: alarmtemp is table in rtmd database. ...

  6. Mysql命令drop database:删除数据库

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...

  7. (笔记)Mysql命令drop database:删除数据库

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...

  8. PostgreSQL drop database 显示会话没有关闭 [已解决]

    错误重现 有时候需要删除某个数据库时,会报如下错误,显示有一个连接正在使用数据库,无法删除 ERROR: database "pilot" is being accessed by ...

  9. drop database出现1010

    > drop database glc; ERROR (HY000): Error dropping database (can't rmdir './glc/', errno: 17) Fri ...

随机推荐

  1. [已解决]报错UnicodeDecodeError

    输出报错: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 220: in 解决方案:将编码方式utf-8 修 ...

  2. python颜色

    # python终端显示彩色字符类,可以调用不同的方法# 选择不同的颜色.使用方法看示例代码就很容易明白.# --------------------------------------------- ...

  3. IDEA下将dubbo简单项目跑Demo(2019.12版)

    项目架构(聚合项目,父子模块) src没用,所以删去 选择maven项目,不用勾选模板骨架,直接main方法,因为不用到服务器 顺序是按照:添加pom依赖-接口实现类-配置文件 项目环境 IDE:In ...

  4. Ubuntu 14.04 64位上安装wps office软件

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/tao_627/article/details/24179933 废话少说,仅仅给出方法供各位參考! ...

  5. Shell 编程综合案例

    Shell编程综合案例 Shell也学习了大概的知识,现在这篇文章就大概讲述下如何使用shell编写一个脚本呢?下面就展示一个大家常用的数据库备份案例来进行展示. 需求分析 1)每天凌晨2:10分备份 ...

  6. Vultr账户充值需要注意的事项

    一.Vultr充值注意事项 1.选择适合自己的充值工具.我们可以使用支付宝.信用卡.PAYPAL等支付方式,需要我们注意的是充值方式不要来回切换充值,如果我们有多账户的时候一定不要相互使用,以免导致账 ...

  7. memset函数及其用法,C语言memset函数详解

    在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构.在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”. 每种类型的变量都有各自的 ...

  8. 解决小程序sessionid不一致

    由于小程序端两次请求的 sessionid 不一致, 导致后端无法取得 session,解决办法:在登录时获取sessionid //第一次请求登录接口时保存到sessionid中 success: ...

  9. Java KMP算法代码

    1. KMP 算法(字符串匹配算法)较 BF(朴素的字符串匹配)算法有哪些改进 1) 在主串和子串匹配的过程中,主串不再回退,只改变子串的比较位置. 2) 为子串生成对应的next数组,每次匹配失败, ...

  10. canvas画布导出图片并下载

    近期在学习关于画布知识,关于 画布导出图片, 在导出jpeg格式的图片时,会发现图片背景色变成了黑色,原因是画布透明的地方 默认转成了黑色,可以在绘制画布前设置透明处背景色为白色. // 背景色转换成 ...