第一种:通过sql_slave_skip_counter跳过同步错误,适用于一般异常如插入时主键冲突

这种情况一般是在从库进行了写操作,错误提示

Last_SQL_Errno: 1062

Last_SQL_Error: Error 'Duplicate entry '14' for key 'PRIMARY'' on query. Default database: 'hadoop'. Query: 'INSERT INTO `user` (`username`, `password`) VALUES ('b', 'b')'

1 row in set (0.00 sec)

如果提示

Last_SQL_Errno: 126

Last_SQL_Error: Error 'Incorrect key file for table './hadoop/user.MYI'; try to repair it' on query. Default database: 'hadoop'. Query: 'INSERT INTO `user` (`username`, `password`) VALUES ('c', 'c')'

则先修复下表repair table user;再继续下面的操作

从库执行:

  1.  
    #停止slave服务
  2.  
    mysql> stop slave;
  3.  
    Query OK, 0 rows affected, 1 warning (0.00 sec)
  4.  
    #跳过一步错误,后面的数字可变,如果还不行可执行多次
  5.  
    mysql> set global sql_slave_skip_counter =1;
  6.  
    Query OK, 0 rows affected (0.00 sec)
  7.  
    #开始slave服务
  8.  
    mysql> start slave;
  9.  
    Query OK, 0 rows affected (0.00 sec)
  10.  
    #查看slave状态
  11.  
    mysql> show slave status\G
  12.  
    *************************** 1. row ***************************
  13.  
    Slave_IO_State: Waiting for master to send event
  14.  
    Master_Host: 192.168.20.195
  15.  
    Master_User: test
  16.  
    Master_Port: 3306
  17.  
    Connect_Retry: 60
  18.  
    Master_Log_File: mysql-bin.000004
  19.  
    Read_Master_Log_Pos: 251
  20.  
    Relay_Log_File: mysqld-relay-bin.000006
  21.  
    Relay_Log_Pos: 251
  22.  
    Relay_Master_Log_File: mysql-bin.000004
  23.  
    Slave_IO_Running: Yes
  24.  
    Slave_SQL_Running: Yes
  25.  
    Replicate_Do_DB:
  26.  
    Replicate_Ignore_DB:
  27.  
    Replicate_Do_Table:
  28.  
    Replicate_Ignore_Table:
  29.  
    Replicate_Wild_Do_Table:
  30.  
    Replicate_Wild_Ignore_Table: mysql.%,information_schema.%,performance_schema.%
  31.  
    Last_Errno: 0
  32.  
    Last_Error:
  33.  
    Skip_Counter: 1
  34.  
    Exec_Master_Log_Pos: 251
  35.  
    Relay_Log_Space: 552
  36.  
    Until_Condition: None
  37.  
    Until_Log_File:
  38.  
    Until_Log_Pos: 0
  39.  
    Master_SSL_Allowed: No
  40.  
    Master_SSL_CA_File:
  41.  
    Master_SSL_CA_Path:
  42.  
    Master_SSL_Cert:
  43.  
    Master_SSL_Cipher:
  44.  
    Master_SSL_Key:
  45.  
    Seconds_Behind_Master: 0
  46.  
    Master_SSL_Verify_Server_Cert: No
  47.  
    Last_IO_Errno: 0
  48.  
    Last_IO_Error:
  49.  
    Last_SQL_Errno: 0
  50.  
    Last_SQL_Error:
  51.  
    1 row in set (0.00 sec)

第二种:重新做主从,然后使用change master指定同步位置,这种耗时长

主库执行:

  1.  
    mysql> flush tables with read lock;
  2.  
    [root@hd3 ~]# mysqldump -uroot -p123456 --lock-all-tables --flush-logs hadoop > /data/hadoop.sql
  3.  
    [root@hd3 ~]# scp /data/hadoop.sql root@192.168.20.201:/data/
  4.  
    mysql> unlock tables;

从库执行:

  1.  
    mysql> stop slave;
  2.  
    Query OK, 0 rows affected (0.00 sec)
  3.  
    mysql> reset slave;
  4.  
    Query OK, 0 rows affected (0.01 sec)
  5.  
    mysql> source /data/hadoop.sql
  6.  
    mysql> change master to master_host='192.168.20.195', master_port=3306, master_user='test',master_password='123456', master_log_file='mysql-bin.000003',master_log_pos=932;
  7.  
    Query OK, 0 rows affected (0.03 sec)
  8.  
    mysql> start slave;
  9.  
    Query OK, 0 rows affected (0.00 sec)

第三种:使用第三方工具如pt-table-sync

MySQL主从不同步、数据不一致解决办法的更多相关文章

  1. 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

            Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  2. mysql主从不同步处理过程分享

    背景  8月7日15:58收到报障数据库出现不同步:数据库共四台,分别为10.255.70.11,10.255.70.12,10.255.70.13,10.255.70.14(ip为虚拟ip) 数据库 ...

  3. MySQL主从数据库同步延迟问题解决(转)

    最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务 ...

  4. 配置MySQL主从双向同步

    原文地址:http://www.cnblogs.com/zhongshengzhen/ 原主数据库:192.168.137.33 原从数据库:192.168.137.197   需要先阅读并操作:ht ...

  5. Mysql文件太大导入失败解决办法总结

    Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...

  6. MYSQL主从库同步配置过程

    MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...

  7. Centos 配置 Mysql 主从双向同步

    配置之前,请先阅读mysql主从复制: Mysql-主从复制 原:  主从环境: 主服务器:192.168.153.130 从服务器:192.168.153.131 1.从数据库创建同步用户,将主数据 ...

  8. 您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应...的解决办法

    您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应.……解决办法很简单:1.修改root@localhost权限的密码. 打开wamp的phpmyadmin,进入它的管理界 ...

  9. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

随机推荐

  1. THE MINTO PYRAMID PRINCIPLE

    金字塔原理:(重点突出,逻辑清晰.层次分明,简单易懂的思考方式.沟通方式.规范的动作.) 结构:结论先行,以上统下,归类分组,逻辑递进.先重要后次要,先总结后具体,先框架后细节,先结论后原因,先结果后 ...

  2. 添加底部导航栏tabbar

    效果图: 如果要添加底部导航栏,最少2个,最多5个. app.json { "pages": [ "pages/index/index", "page ...

  3. ts踩坑笔记

    1.react中 this.el 报错 Property 'el' does not exist on type,添加el: any; 2.使用window.xx编译总是报错,用下面方法解决 let ...

  4. 配置多个git用的ssh key

    参考 http://www.sail.name/2018/12/16/ssh-config-of-mac/ 有一点注意 Host 的名字和 HostName改为一致. 因为从git仓库复制的地址是全程 ...

  5. OpenGL学习笔记(五)变换

    目录 变换 向量 向量的运算 向量与标量运算 向量取反 向量加减 求向量长度 向量的单位化 向量相乘 点乘(Dot Product) 叉乘 矩阵 矩阵的加减 矩阵的数乘 矩阵相乘 矩阵与向量相乘 与单 ...

  6. openresty——yum安装 配置 使用 错误处理 docker方式安装

    yum方式安装 wget https://openresty.org/package/centos/openresty.repo mv openresty.repo /etc/yum.repos.d/ ...

  7. 三、Linux部署MinIO分布式集群

    MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO 一. ...

  8. 《Python Cookbook v3.0.0》Chapter1 数据结构和算法

    感谢: https://github.com/yidao620c/python3-cookbook 如有侵权,请联系我整改. 本文章节会严格按照原书(以便和原书对照,章节标题可能会略有修改),内容会有 ...

  9. 《微服务架构设计模式》读书笔记 | 第4章 使用Saga管理事务

    目录 前言 1. 微服务架构下的事务管理 1.1 分布式事务的挑战 1.2 一个Saga的示例 1.3 Saga使用补偿事务来回滚所作出的改变 2. Saga的协调模式 2.1 两种Saga协调模式 ...

  10. 尝试通过 JDBC 将 UTF-8 插入 MySQL 时出现“乱码”

    这是我的连接设置方式: Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true& ...