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


    错误现状:

     

    mysql 同步时遇到错误,不要慌张,镇定,是第一位:

    首先,说明:

    Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件

    Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。

    这个错误是出现在我重启电脑之后。从以上图片来看,我遇到的错误是第二条,但至少说明了连接主库,并读取主库的日志到本地,生成本地日志文件这个过程是正确的。

    从网上查找解决方案:

    解决办法一、

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

    2.也可能是slave机器重起后,事务回滚造成的.(我的就是这个错误)

    一般是事务回滚造成的:
    解决办法:
    mysql> slave stop;
    mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
    mysql> slave start;

    第一次操作完毕之后,输入命令showslave statusG ,发现还是没变,又操作了一次,就好了;

    slave启动失败问题总结:

    从服务器配置的结果一定是:Slave_IO_Running 与 Slave_SQL_Running 状态都要为Yes
    1:Change master to
    如果从库的Slave未启动,Slave_IO_Running为NO。
    可能是主库是的master的信息有变化,
    查看主库show master status;
    记录下File,Position字段,假设为‘mysql-bin.000004’,98;
    在从库执行:
    mysql>stop slave;
    mysql>change master to master_log_file='mysql-bin.000004',master_log_pos=98;
    mysql>start slave;
    2:SET global sql_slave_skip_counter=n;
    如果从库的slave_sql_running为NO。
    Err文件中记录:
    Slave:Error "Duplicate entry '1' for key 1" on query.....
    可能是master未向slave同步成功,但slave中已经有了记录。造成的冲突可以在从库上执行
    set global sql_slave_skip_counter=n;
    跳过几步。再restart slave就可以了。
    3:发现mysql slave服务器经常因为一些特殊字符或者符号产生的更新语句报错,整个同步也会因此而卡在那,最初的办法只是手动去出错的机器执行下面三条SQL语句,跳过错误即可。
    mysql>slave stop;
    mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
    mysql>slave start;

    本人多次遇到从数据库的同步进程自动停掉的问题,有时简单通过slave stop,slave start即可解决。有时slave start启动后又会自动停掉,这时使用 change master重设主数据库信息的方式解决了问题。
     

  • 相关阅读:
    some tips
    ORA00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together
    Chapter 01Overview of Oracle 9i Database Perfomrmance Tuning
    Chapter 02Diagnostic and Tuning Tools
    变量与常用符号
    Chapter 18Tuning the Operating System
    标准输入输出
    Trace files
    DBADeveloped Tools
    Chapter 03Database Configuration and IO Issues
  • 原文地址:https://www.cnblogs.com/zwjphp/p/14902869.html
Copyright © 2020-2023  润新知