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'

mysql slave同步_Slave_SQL_Running: No mysql同步故障解决方法相关推荐

  1. mysql slave running_MySQL主从复制出现Slave_IO_Running,Slave_SQL_Running解决方法

    MySQL replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负 ...

  2. MySQL在Ubuntu设置自启动的一个故障解决

    MySQL在Ubuntu设置自启动的一个故障解决 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 在解决MySQL自启动,执行命令: # chkconfi ...

  3. Java 链接MySQL数据库时报的connect和denied错解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 一.not allowed to connect to this MySQL server错误 错误分析:可能是由于MySQL ...

  4. mysql source导入报错ERROR 1366的解决方法

    mysql source导入报错ERROR 1366的解决方法 参考文章: (1)mysql source导入报错ERROR 1366的解决方法 (2)https://www.cnblogs.com/ ...

  5. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法

    Linux下MySql出现#1036 – Table ' ' is read only 错误解决方法 参考文章: (1)Linux下MySql出现#1036 – Table ' ' is read o ...

  6. mysql数据库报Access denied for user 的解决方法

    mysql数据库报Access denied for user 的解决方法 参考文章: (1)mysql数据库报Access denied for user 的解决方法 (2)https://www. ...

  7. mysql启动错误1067进程意外终止的解决方法

    mysql启动错误1067进程意外终止的解决方法 参考文章: (1)mysql启动错误1067进程意外终止的解决方法 (2)https://www.cnblogs.com/huhyoung/p/960 ...

  8. MySQL初始化root密码以及root密码忘记解决方法

    MySQL初始化root密码以及root密码忘记解决方法 参考文章: (1)MySQL初始化root密码以及root密码忘记解决方法 (2)https://www.cnblogs.com/liuyu2 ...

  9. MySQL局域网内访问慢的原因及解决方法

    转载自 http://blog.csdn.net/tiantang_1986/article/details/76890178 MySQL局域网内访问慢的原因及解决方法. 出现原因:主要是因为DNS服 ...

最新文章

  1. .NET Framework、C#语言、IDE、CLR 版本历史及其差异(最新)
  2. 单片机c语言慧尾灯编码,(参考)基于单片机的智能尾灯开发文档.doc
  3. CentOS6.5 安装ORACLE 安装界面乱码解决方案
  4. 遵循Java EE标准体系的开源GIS服务平台之一:平台架构
  5. iOS 中的视图函数 init initwithnib viewDidLoad viewWillAppear的总结
  6. 【应用时间序列分析】第一章 时间序列分析简介
  7. 合作博弈(coalitional game)——核仁(Nucleolus)初解
  8. R语言绘图—一键添加显著性
  9. android 修改cpu信息,从Android源码修改cpu信息
  10. 谈如何整定PID参数
  11. ESMap三维地图开发流程
  12. 计算机绘画小房子教案,中班绘画《房子》教案
  13. 威尔逊置信区间 php,威尔逊置信区间
  14. 满足国六标准通用型故障诊断仪:Q-OBD
  15. 高仿Readhub小程序 微信小程序项目【原】
  16. 【Disturbed People】【CodeForces - 1077B】(思维水题)
  17. 手机电池更换_红米note7pro电池更换实例注意事项
  18. cad用键盘放大缩小_CAD放大缩小快捷键 _ 2D3D网
  19. 【转】用天文方法计算二十四节气(下)
  20. 82. 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例

热门文章

  1. 从源码的角度再看 React JS 中的 setState
  2. 使用BUCK进行iOS项目打包
  3. SQL基础--同义词
  4. 在BingoCC上面解析域名实现智能路由
  5. 设计模式——Template Method模板方法
  6. 数据结构——图的C语言实现
  7. torch.randn与torch.rand的区别
  8. session的钝化和活化
  9. 计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配
  10. wxpython实例源码_wxpython中复选框的基本使用源码实例