故障现象:

进入slave服务器,运行:

  1. mysql> show slave status\G
  2. .......
  3. Relay_Log_File: localhost-relay-bin.000535
  4. Relay_Log_Pos: 21795072
  5. Relay_Master_Log_File: localhost-bin.000094
  6. Slave_IO_Running: Yes
  7. Slave_SQL_Running: No
  8. Replicate_Do_DB:
  9. Replicate_Ignore_DB:
  10. ......

解决办法一、

Slave_SQL_Running: No
1.程序可能在slave上进行了写操作
2.也可能是slave机器重起后,事务回滚造成的.

一般是事务回滚造成的:
解决办法:

  1. mysql> slave stop;
  2. mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
  3. mysql> slave start;

解决办法二、

首先停掉Slave服务:slave stop
到主服务器上查看主机状态:
记录File和Position对应的值
进入master

  1. mysql> show master status;
  2. +----------------------+----------+--------------+------------------+
  3. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  4. +----------------------+----------+--------------+------------------+
  5. | localhost-bin.000094 | 33622483 | | |
  6. +----------------------+----------+--------------+------------------+
  7. 1 row in set (0.00 sec)

然后到slave服务器上执行手动同步:

  1. mysql> change master to
  2. > master_host='master_ip',
  3. > master_user='user',
  4. > master_password='pwd',
  5. > master_port=3306,
  6. > master_log_file=localhost-bin.000094',
  7. > master_log_pos=33622483 ;
  8. 1 row in set (0.00 sec)
  9. mysql> slave start;
  10. 1 row in set (0.00 sec)
  11. mysql> show slave status\G
  12. *************************** 1. row ***************************
  13. ........
  14. Master_Log_File: localhost-bin.000094
  15. Read_Master_Log_Pos: 33768775
  16. Relay_Log_File: localhost-relay-bin.000537
  17. Relay_Log_Pos: 1094034
  18. Relay_Master_Log_File: localhost-bin.000094
  19. Slave_IO_Running: Yes
  20. Slave_SQL_Running: Yes
  21. Replicate_Do_DB:

手动同步需要停止master的写操作!
查看mysql主从配置的状态及修正 slave不启动问题

1、查看master的状态

  1. show master status; //Position不应该为0
  2. show processlist;
  3. //state状态应该为Has sent all binlog to slave; waiting for binlog to be updated

2、查看slave状态

  1. show slave status;
  2. //Slave_IO_Running 与 Slave_SQL_Running 状态都要为Yes
  3. show processlist;
  4. //应该有两行state值为:
  5. Has read all relay log; waiting for the slave I/O thread to update it
  6. Waiting for master to send event

3、错误日志

  1. MySQL安装目录 /usr/local/mysql
  2. MySQL日志目录 /usr/local/mysql/data/ 形如,Hostname.err

4、Change master to

如果从库的Slave未启动,Slave_IO_Running为NO。
可能是主库是的master的信息有变化,
查看主库show master status;
记录下File,Position字段,假设为‘mysql-bin.000004’,98;
在从库执行:

  1. mysql>stop slave;
  2. mysql>change master to master_log_file='mysql-bin.000004',master_log_pos=98;
  3. mysql>start slave;

5、SET global sql_slave_skip_counter=n;

如果从库的slave_sql_running为NO。
Err文件中记录:

  1. Slave:Error "Duplicate entry '' for key 1" on query.....

可能是master未向slave同步成功,但slave中已经有了记录。造成的冲突可以在从库上执行

  1. set global sql_slave_skip_counter=n;

跳过几步。再restart slave就可以了。

6、同步错误处理

发现mysql slave服务器经常因为一些特殊字符或者符号产生的更新语句报错,整个同步也会因此而卡在那,最初的办法只是手动去出错的机器执行下面三条SQL语句,跳过错误即可。

  1. mysql>slave stop;
  2. mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
  3. mysql>slave start;

说明:
Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。

mysql故障(主从复制sql线程不运行)的更多相关文章

  1. mysql主从架构,IO、SQL线程运行为YES,从库没有同步数据

    mysql基于binlog主从复制架构,IO.SQL线程运行为YES,从库没有同步数据 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_D ...

  2. MySQL 利用SQL线程对Binlog操作

    背景: 对于MySQL的binlog的查看都是用其自带的工具mysqlbinlog进行操作的,其实还有另一个方法来操作binlog,就是Replication中的SQL线程去操作binlog,其实bi ...

  3. MySQL 利用SQL线程对Binlog操作(转)

    背景: 对于MySQL的binlog的查看都是用其自带的工具mysqlbinlog进行操作的,其实还有另一个方法来操作binlog,就是Replication中的SQL线程去操作binlog,其实bi ...

  4. MySQL Replication 主从复制全方位解决方案

    1.1 主从复制基础概念 在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com ...

  5. 第十章· MySQL的主从复制

    一.主从复制简介  2015年5月28日11时,12小时后恢复,损失:平均每小时106.48W$ 1)高可用 2)辅助备份 3)分担负载 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复 ...

  6. Linux学习-MySQL的主从复制高可用性解决方案MHA

    一.MHA简介 1.MHA Master High Availability,对主节点进行监控,可实现自动故障转移至其它从节点:通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现, ...

  7. MySQL --13 主从复制

    目录 一.主从复制简介 二.主从复制原理 三.主从复制搭建实战 四.主从复制基本故障处理 五.延时从库 企业案例: 模拟环境 一.主从复制简介 复制是 MySQL 的一项功能,允许服务器将更改从一个实 ...

  8. mysql的主从复制延迟问题--看这一篇就够了

    ​ 在之前我们已经讲解了一主一从,双主双从的mysql集群搭建,在单机应用的时候看起来没有问题,但是在企业的生产环境中,在很多情况下都会有复制延迟的问题. ​ 主从复制的原理我们在此处就不再赘述了,之 ...

  9. mysql之主从复制

    原理--> 在数据库层面,复制语句或者行,因为在数据库层面,故只有主服务器生成,并放到二进制日志里面,才能复制给从服务器. 原理--> mysql的主从复制基于异步,主要有三个进程执行,分 ...

随机推荐

  1. HDU 5293 Tree chain problem 树形DP

    题意: 给出一棵\(n\)个节点的树和\(m\)条链,每条链有一个权值. 从中选出若干条链,两两不相交,并且使得权值之和最大. 分析: 题解 #include <cstdio> #incl ...

  2. windows下进程间通信(转)

    摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求.编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的.Microsof ...

  3. linux 多播

    1.概念 单播是用于两个主机之间传送数据,广播是一个主机对局域网内的所有主机发送数据.而多播,又称为组播,它是对一组特定的主机通信.将网络上同一类型 业务逻辑上分组,只和组内的成员通信,其它主机没有加 ...

  4. oracle集群部署相关文章

    1. Oracle数据库HA架构方案介绍:http://blog.sina.com.cn/s/blog_7273b6cc0100p0sr.html 2.Oracle 集群概念和原理

  5. 1106 Lowest Price in Supply Chain (25 分)(树的遍历)

    求叶子结点处能活得最低价格以及能提供最低价格的叶子结点的个数 #include<bits/stdc++.h> using namespace std; ; vector<int> ...

  6. 课时6:Python之常用操作符

    目录: 一.算术操作符 二.优先级问题 三.比较操作符 四.逻辑操作符 五.课时06课后习题及答案 ****************** 一.算术操作符 ****************** > ...

  7. SQL 基础笔记(一)

    本笔记整理自<SQL 基础教程>.<MySQL 必知必会>和网上资料.个人笔记不保证正确. 一.基础 SQL,即结构化查询语言,是为访问与操作关系数据库中的数据而设计的语言. ...

  8. 【Android】实验3 颜色、字符串资源的使用【提交截止时间:2016.4.1】

    实验4 颜色.字符串资源的使用 [目的] 掌握Android中颜色和字符串资源的使用方法. 理解Android中尺寸和布局资源的使用方法. [要求] 在工程中为Activity.View使用颜色资源: ...

  9. [洛谷P4178]Tree

    题目大意:给一棵树,问有多少条路径长度小于等于$k$ 题解:点分治 卡点:无 C++ Code: #include <cstdio> #include <algorithm> ...

  10. POJ 3264 Balanced Lineup | st表

    题意: 求区间max-min st表模板 #include<cstdio> #include<algorithm> #include<cstring> #inclu ...