Slave_SQL_Running: No mysql同步故障解决方法

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'

mysql5.5连不上主机_mysql5.5主从同步排错相关推荐

  1. ubuntu mysql混合开发_mysql5.7主从同步 ubuntu

    实现环境: | System | mysql   |  ip   | |主ubuntu | mysql-5.7.24   | 10.192.209.122 | |从ubuntu    | mysql- ...

  2. mysql 5.6 互为主从_mysql5.6主从同步,互为主从配置

    由于业务需要,需要做主从同步,互为主从等的mysql设置.主从设置主要涉及主从同步时使用的账号密码配置,my.cnf的配置,进入数据库进行master,slave配置.主要是这四个配置. 1,账号密码 ...

  3. mysql5.5主从同步复制配置

    注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数 ...

  4. 烂泥:mysql5.5主从同步复制配置

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mys ...

  5. mysql5.7在centos上安装

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:http://blog.csdn.net/you23hai45/article/details/50984328 h ...

  6. mysql5.7+主从不一致_Mysql5.7安装错误处理与主从同步及!

    basedir=/iddbs/mysql-5.7.16 datadir=/iddbs/mysql5.7/data3306 一.自定义Mysql.5.7版本免编译安装: 1.Db-server1安装前期 ...

  7. Mysql主从复制配置方式 及 从机连不上主机 Slave_IO_Running: Connecting 状态值一直是Connecting

    Mysql主从复制配置方式 及 从机连不上主机 Slave_IO_Running: Connecting 状态值一直是Connecting 搭建服务器(单主多从): 一:准备工作: 二:搭建主服务器: ...

  8. mysql5.7过滤重复数据_MySQL5.7 设置同步复制过滤不用重启mysql服务进程了

    在MySQL5.5/5.6里版本里,设置同步复制过滤,例如设置忽略掉test库的t2表,你需要在my.cnf配置文件里增加:replicate-ignore-table=test.t2 必须重启mys ...

  9. mysql5.7主从同步与读写分离

    读写分离 Mysql主从复制的过程 读写分离原理 配置主从同步 主服务编译 部署第一台从服务器 部署第2台从服务器配置 配置读写分离关键服务 定义具体的读写分离对象 配置amoeba的主配置文件amo ...

  10. Mysql5.7安装错误处理与主从同步及!

    Mysql5.7安装错误处理与主从同步及! basedir=/iddbs/mysql-5.7.16 datadir=/iddbs/mysql5.7/data3306 一.自定义Mysql.5.7版本免 ...

最新文章

  1. java投票锁_Java并发编程锁之独占公平锁与非公平锁比较
  2. Ubuntu下搭建NFS,并在开发板挂载
  3. 您的MyFitnessPal帐户几乎肯定已被黑客入侵,请立即更改密码
  4. java学习(160):interrupt方法
  5. 赵东、赵鹏被认定为帮信罪
  6. anconda使用---使用conda管理python环境
  7. 正态分布的前世今生:正态分布的各种推导
  8. Layer表格复选框,禁止勾选某行
  9. [python]练习之判断3个数值中最大值
  10. PGP加密软件使用教程-云安全技术
  11. 提高系统可用性的那些架构策略
  12. C# 根据主机名称获得IP
  13. cvpr论文什么级别(cvpr论文什么级别,有奖金吗)
  14. kubectl port-forward 踩坑记录
  15. 数据结构与算法(1)--二叉树
  16. 杰米棋牌开发商打造经典棋牌游戏
  17. rpm安装Mysql的rpm包,提示/bin/sh is needed by MySql.rpm 错误的问题解决
  18. 怎样禁止macOS 在Safari下载的ZIP文件自动解压?
  19. IIS 支持 flv文件播放 (浏览器中可打开一flv文件)
  20. DAE模型——阅读和理解COLLADA文档(1)

热门文章

  1. 7月第3周社交网站综合排行Top10:新浪微博居首
  2. 帮助开发者快速创建响应式布局的Boilerplate - Responsive Boilerp...
  3. Params属性的用法 (beginner)
  4. 【TDA4系列】向 PSDKRA 添加新的图像传感器
  5. SpringBoot------拦截器Filter的使用
  6. iOS: 详细的正则表达式
  7. 快速学习django
  8. Array对象的三种属性实例
  9. Leetcode: Maximal Square
  10. 字符串部分函数的实现