mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决
收到报警,mysql的从数据库在同步的过程出现问题,已停止同步。
ERROR] Slave SQL: Error "Lock wait timeout exceeded; try restarting transaction" on query. Default database: "yang". Query: "UPDATE workitem SET status = state, modify_time=1329640301 where workitem_id = 800", Error_cod
Slave sql not running: result is No|slave_sql_running=0
登录数据库查看!
root@127.0.0.1 : yang 16:48:34> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.249.119.52
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001156
Read_Master_Log_Pos: 49021182
Relay_Log_File: slave-relay.118531
Relay_Log_Pos: 1342
Relay_Master_Log_File: mysql-bin.001156
Slave_IO_Running: Yes
Slave_SQL_Running: No
........
Last_Errno: 1205
Last_Error: Error 'Lock wait timeout exceeded; try restarting transaction' on query. Default database: 'yang'. Query: 'UPDATE workitem SET status = state, modify_time=1329640301 where workitem_id = 800'
Skip_Counter: 0
Exec_Master_Log_Pos: 47702497
Relay_Log_Space: 1319098
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
...........
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1205
Last_SQL_Error: Error 'Lock wait timeout exceeded; try restarting transaction' on query. Default database: 'yang'. Query: 'UPDATE work SET status = state, modify_time=1329640301 where work_id = 800'
1 row in set (0.00 sec)
从库由于Error 'Lock wait timeout exceeded; try restarting transaction' on query. Default database: 'yang'. Query: 'UPDATE work SET status = state, modify_time=1329640301 where work_id = 800'; 锁等待超时导致事务失败,多次重试不成功。Slave_SQL_进程中断!
解决办法一:
1.首先停掉Slave服务:
mysql>slave stop;
2.到主服务器上查看主机状态,
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.001156 | 48291554 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
记录File和Position对应的值 mysql-bin.001156,48291554
3 到slave服务器上执行手动同步:
mysql> change master to
> master_host='master_ip',
> master_user='user',
> master_password='pwd',
> master_port=3306,
> master_log_file='mysql-bin.001156',
> master_log_pos=48291554;
1 row in set (0.00 sec)
mysql> slave start;
1 row in set (0.00 sec)
再次查看slave状态发现:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
Seconds_Behind_Master: 0
注:这种办法可能会导致从服务器上的数据不完整,如从服务器一直出错,但主服务器日志文件一直在增加,过好长时间,再直接从主服务器上取日志位置,可能会造成错误期间的数据无法更新到从服务器中.这里建议采用下面的这种办法(将错误语句直接跳过).
解决办法二:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=N,用来跳过备机的一条或N条出错的复制语句。然后重新start slave即可。
由于我们的是双master 架构,所以为了避免重复执行变更的语句,实际操作:
root@127.0.0.1 : (none) 16:56:00> SET SQL_LOG_bin=0;
Query OK, 0 rows affected (0.00 sec)
root@127.0.0.1 : (none) 16:56:06> use yang;
Database changed
执行导致错误的语句
root@127.0.0.1 : yang 16:56:10> UPDATE workitem SET status = state, modify_time=1329640301 where workitem_id = 800;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
root@127.0.0.1 : yang 16:56:45>stop slave;
Query OK, 0 rows affected (0.00 sec)
root@127.0.0.1 : yang 16:56:46>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)
root@127.0.0.1 : yang 16:56:46>start slave;
Query OK, 0 rows affected (0.00 sec)
最终确认结果
root@127.0.0.1 : (none) 16:59:40> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.249.119.52
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001156
Read_Master_Log_Pos: 49846932
Relay_Log_File: slave-relay.118532
Relay_Log_Pos: 235831
Relay_Master_Log_File: mysql-bin.001156
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
..........
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 49846932
Relay_Log_Space: 2144848
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
至此问题解决~!
mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决相关推荐
- mysql slow queries,检查 mysql sql 效能使用 MySQL Slow Queries
检查 mysql sql 效能使用 MySQL Slow Queries 点击: 发布日期:2013-05-06 本文来自 www.020fix.com 由于 MySQL 的普及,我们不难发现有许多 ...
- mysql - sql语句 之 mysql错误代码大合(转载)
用任何主机语言调用MySQL时可能出现的错误. 首先,列出了服务器错误消息.其次列出了客户端程序消息. B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在share ...
- mysql is running but_MySQL: mysql is not running but lock exists 的解决方法
MySQL: mysql is not running but lock exists 的解决方法 (2010-12-13 22:41:20) 标签: 杂谈 分类: 技术 安装mysql 版本: my ...
- mysql using btree_mysql导入数据时提示 USING BTREE 错误解决办法
错误原因: 主要是是MYSQL 5.1的一个BUG,其出现原因是mysql 5.1和mysql 5.0在处理到索引语句时有所区别. 案例: 有时导入mysql会提示如下错误: ERROR 1064 ( ...
- centos mysql pid_centos7 mysql The server quit without updating PID file(错误解决)
1 问题 [root@localhost mysql]# /etc/rc.d/init.d/mysql status MySQL is not running, but lock file (/var ...
- windows mysql is read only_mysql中Table is read only错误解决方法(转载)
下面来给各位同学介绍一下关于mysql中Table is read only的解决技巧,希望例子能帮助到各位. 今天再我把数据库data 拷贝到linux 下运行程序 "mysql中Tabl ...
- mysql sql trace_用MySQL的optimizer_trace进行sql调优
在我们调优MySQL的SQL时候,通常使用三种工具进行查看sql执行的效率,explain.profile.optimizer_trace.前两个经常被人使用,由于第三个难度较大,大家使用的较少,下面 ...
- mysql SQL命令查看Mysql数据库磁盘使用量
– 1. 查询所有数据总的磁盘使用量: select concat(round(sum(data_length/1024/1024),2),'MB') as data from information ...
- mysql 主从1146_MySQL5.7主从复制slave报Last_Errno: 1146错误解决
前提:由于slave磁盘未及时扩容原因导致磁盘即将写满,为了不影响业务将slave实例里一个10G的库drop了(项目前期建的库,数据现在已不使用了),然后又drop了master上的该库(对于大库建 ...
最新文章
- cuda 安装_win10+VS 2017 安装 CUDA(Visual Studio Integration失败)
- notepad++取消语法检测
- 校宝在线携手神策数据 数据赋能产品服务体验双升级
- python 递归函数_连载|想用Python做自动化测试?递归函数
- UltiDev Cassini Web Server介绍
- 正式环境docker部署hyperf_使用docker搭建hyperf环境连接mysql
- NLP之---word2vec算法skip-gram原理详解
- Ubuntu 16.04 - 64bit 解压 rar 报错 Parsing Filters not supported
- Angular通过CORS实现跨域方案
- 浏览器正确理解和使用GBK及UTF-8(UTF-8 + BOM)网页编码
- C++ 多线程下的单例模式
- self-hacking第五天
- LayaAir 定时器 Timer
- ojdbc6报红以及nested exception is org.hibernate.service.spi.ServiceException: 已解决
- 【AngularJS】 # AngularJS入门
- 网站换服务器 备案,网站换服务器备案吗
- 一个IT技术经理需要具备的素质
- python绘制积分函数_Python超越函数积分运算以及绘图实现代码
- VSCode 前端插件推荐
- 嵌入式linux之yocto(五)拓展核心镜像
热门文章
- python 模糊匹配_很冷门,但非常实用的 Python 库
- 使用try-catch-finally处理异常---java
- 参数名称 java_java – 具有重要名称的WSDL中的参数名称
- mat 内存分析 Linux,JVM内存分析工具MAT使用简介
- SkyEye——汽车电子系统仿真测试工具
- python中读取txt文件、统计其中所有字母出现的频度_Python编程小技巧:如何统计序列中元素的出现频度...
- python3 robotframework+pycharm框架搭建
- c语言中文刷屏,c语言二维数组刷屏练习.doc
- 测试必备:单元测试测试类,以帮助匿名管理调查的类为例详解--白盒测试
- 包的引入(base版本)