文档章节

Slave_SQL_Running: No mysql同步故障解决

有些服务器
 有些服务器
发布于 2015/12/14 14:27
字数 970
阅读 38
收藏 1

Slave_SQL_Running: No mysql同步故障解决

今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态:

mysql> show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: No

Last_Errno: 1062

....

Seconds_Behind_Master:NULL

原因:

1.程序可能在slave上进行了写操作

2.也可能是slave机器重起后,事务回滚造成的.

解决办法I:

1.首先停掉Slave服务:slave stop

2.到主服务器上查看主机状态:

记录File和Position对应的值。

mysql> show master status;

+------------------+-----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+-----------+--------------+------------------+

| mysql-bin.000020 | 135617781 | | |

+------------------+-----------+--------------+------------------+

1 row in set (0.00 sec)

3.到slave服务器上执行手动同步:

mysql> change master to

> master_host='master_ip',

> master_user='user',

> master_password='pwd',

> master_port=3307,

> master_log_file='mysql-bin.000020',

> master_log_pos=135617781;

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

解决办法II:

mysql> slave stop;

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql> slave start;

自己的使用体会:方法一是强制性从某一个点开始同步,会有部分没有同步的数据丢失,后续主服务器上删除记录同步也会有一些错误信息,不会影响使用.方法二不一定会有效果.

=======================================================================================]

1,主从不能同步:

show slave status;报错:Error xxx dosn't exist

且show slave status\G:

Slave_SQL_Running: NO

Seconds_Behind_Master: NULL

解决方法:

stop slave;

set global sql_slave_skip_counter =1 ;

start slave;

之后Slave会和Master去同步 主要看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master是否为0,0就是已经同步了

2,还需要做的一些优化与监视:

show full processlist; //查看mysql当前同步线程号

skip-name-resolve //跳过dns名称查询,有助于加快连接及同步的速度

max_connections=1000 //增大Mysql的连接数目,(默认100)

max_connect_errors=100 //增大Mysql的错误连接数目,(默认10)


查看日志一些命令

1, show master status\G;

在这里主要是看log-bin的文件是否相同。

show slave status\G;

在这里主要是看:

Slave_IO_Running=Yes

Slave_SQL_Running=Yes

如果都是Yes,则说明配置成功.

2,在master上输入show processlist\G;

mysql> SHOW PROCESSLIST\G

*************************** 1. row ***************************

Id: 2

User: root

Host: localhost:32931

db: NULL

Command: Binlog Dump

Time: 94

State: Has sent all binlog to slave; waiting for binlog to

be updated

Info: NULL

如果出现Command: Binlog Dump,则说明配置成功.

stop slave #停止同步

start slave #开始同步,从日志终止的位置开始更新。

SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一致,造成错误

SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。

RESET MASTER #主机端运行,清除所有的日志,这条命令就是原来的FLUSH MASTER

RESET SLAVE #从机运行,清除日志同步位置标志,并重新生成master.info

虽然重新生成了master.info,但是并不起用,最好,将从机的mysql进程重启一下,

LOAD TABLE tblname FROM MASTER #从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有 reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值

LOAD DATA FROM MASTER #从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值

CHANGE MASTER TO master_def_list #在线改变一些主机设置,多个用逗号间隔,比如

CHANGE MASTER TO

MASTER_HOST='master2.mycompany.com',

MASTER_USER='replication',

MASTER_PASSWORD='bigs3cret'

MASTER_POS_WAIT() #从机运行

SHOW MASTER STATUS #主机运行,看日志导出信息

SHOW SLAVE HOSTS #主机运行,看连入的从机的情况。

SHOW SLAVE STATUS (slave)

SHOW MASTER LOGS (master)

SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]

PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'


© 著作权归作者所有

有些服务器
粉丝 4
博文 49
码字总数 86607
作品 0
南昌
私信 提问
mysql5.5主从同步排错

SlaveSQLRunning: No mysql同步故障解决方法 SlaveSQLRunning: No mysql同步故障解决 今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态: mysql> show slave statusG SlaveIOR...

tianxiamall
2014/08/11
0
0
mysql数据库主从不同步的解决方法

故障描述: 进入从数据库 mysql> show slave statusG; 结果如下: ... SlaveIORunning: Yes SlaveSQLRunning: No Last_Errno: 1062 ... 原因: 程序可能在slave上进行了写操作 可能是slave机...

月魔zhi蕾
2015/09/14
0
0
MySQL主从同步故障-Slave_SQL_Running: No

故障现象: 进入slave服务器,运行: mysql> show slave statusG ....... RelayLogFile: localhost-relay-bin.000535 RelayLogPos: 21795072 RelayMasterLogFile: localhost-bin.000094 Slav......

文弱书生_罗剑
2015/09/29
443
0
Mysql主从不同步问题处理案例

在使用Mysql的主从复制架构中,有两个比较头疼的问题: 1、主从数据不同步后如何处理 2、主从同步延迟问题如何解决 本文将根据实际案例来分析下问题1,至于问题2多数文档介绍的办法是启用多线...

ylw6006
2016/06/13
0
0
MYSQL 主从 同步问题解决方案

今天在测试MYSQL主从的过程中,从 Master 的 phpMyAdmin 中删除了几条数据,然后再运行的时候,发现 Slave 不能同步 故障现象: 进入slave服务器,运行: mysql> show slave statusG .........

hengfeng_su
2012/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
4
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
13
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部