问题描述:

接到报警称一台 MySQL 从库同步失败。登录服务器查看错误日志信息如下:

Last_Error: Error 'Incorrect key file for table './bfcc/std_user_history.MYI'; 

            try to repair it' on query. Default database: 'bfcc'. 

            Query: 'INSERT INTO std_user_history SET vid='685689',vtype='1',utime=1477183694,uid='135601920104863213',num=1,point=0,source='qiyi',tid='1630514',category='9',platform=3'

# 这台服务器只负责同步数据,不对外提供服务。提示建议尝试修复该表。

解决方法:

shell > mysql -uroot -p

mysql> use bfcc;
mysql> check table std_user_history;
+-----------------------------+-------+----------+-----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------------+-------+----------+-----------------------------------------------------------+
| bfcc.std_user_history | check | warning | Table is marked as crashed |
| bfcc.std_user_history | check | warning | clients are using or haven't closed the table properly |
| bfcc.std_user_history | check | warning | Size of datafile is: Should be: |
| bfcc.std_user_history | check | error | Found keys of |
| bfcc.std_user_history | check | error | Corrupt |
+-----------------------------+-------+----------+-----------------------------------------------------------+
rows in set (0.65 sec) # 看到该表被打上了一些标记,需要修复。 mysql> repair table std_album; +-----------------------------+--------+----------+------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------------+--------+----------+------------------------------------------------+
| bfcc.std_user_history | repair | warning | Number of rows changed from to |
| bfcc.std_user_history | repair | status | OK |
+-----------------------------+--------+----------+------------------------------------------------+
rows in set (58.03 sec) # 提示修复成功。 mysql > stop slave; mysql > start slave; mysql > show slave status\G

# 发现,主从同步恢复正常,只是延迟很大,需要慢慢同步,等待即可。
# 至于产生原因,有可能是频繁操作该表、服务器异常关机等原因造成的。
# 之前有一张主库的表,也出现过这样的情况,我觉得应该是操作频繁导致的。
# 这次的这张表,我感觉是服务器问题。这台服务器不知为何 IO 等待时常 10% 左右,上面跑了一个安卓虚拟机,一个从库。
# 这台服务器我已经不对外提供服务了。iotop 显示占用 IO 资源的进程却是 jdb2 这个东西,也查过一些资料,但目前还没搞定。

MySQL 主从同步失败,数据表修复的更多相关文章

  1. mysql主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法

    mysql教程主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法 遇到这样的错误如:“Last_IO_Error: Got fatal ...

  2. MySql 触发器同步备份数据表记录

    添加记录到新记录表 DELIMITER $$ USE `DB_Test`$$ CREATE /*!50017 DEFINER = 'root'@'%' */ TRIGGER `InsertOPM_Al ...

  3. mysql主从同步失败 Relay log read failure: Could not parse relay log event entry

    mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQ ...

  4. django连接mysql自动同步生成数据表

    python manage.py makemigrations python manage.py migrate 如果是 Django 不主动提示创建管理员(Django 1.9不提示)用下面的命令创 ...

  5. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  6. MySQL主从同步几个文件

    MySQL主从同步:   M锁表 M导出S导入 M解锁 M建同步帐号 S获取点位:产生master.info S开启同步   3306: mysql-bin.0000x mysql-bin.index ...

  7. mysql 主从同步出问题,重新修复从库 - web架构研究

    mysql 主从同步出问题,重新修复从库 - web架构研究     mysql 主从同步出问题,重新修复从库    0     昨天由于操作失误,在从库上执行一堆sql之后,导致主从同步错误,并且已 ...

  8. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  9. MySQL 手动主从同步不锁表

    有时候MySQL主从同步不一致比较严重的时候,需要手动同步. 然而网上看大很多需要锁表的同步的方法基本如下 1.先对主库锁表 FLUSH TABLES WITH READ LOCK; 2.备份数据 m ...

随机推荐

  1. HDU1671 水题字典树

    #include<cstdio> #include<cstdlib> #include<iostream> #include<cstring> #inc ...

  2. 部署经验Docker

    从Docker 到Jenkins 到Ansible的部署经验 https://www.cnblogs.com/itdragon/p/10011816.html 工作中,除了开发功能,还负责系统的部署工 ...

  3. Making Genome in Berland (DFS+思维)

    个人心得:被这周的专题名坑了,一直用字典树,明明题目看得很清楚了,不存在相同的字母,即每个字母最多只有一个直接后驱,那么只要用DFS走开头就好了, 思想很巧妙,用vector,记录后驱,同时用visi ...

  4. 开发中常见的ES6语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 【DUBBO】dubbo的Cluster接口

    Directory中的多个Invoker伪装成一个Invoker, 对上层透明,包含集群的容错机制 Cluster可以看做是工厂类, 将目录directory下的invoker合并成一个统一的Invo ...

  6. LG1429 平面最近点对(加强版)

    题意 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 2≤n≤200000 分析 参照3A17K的题解. 我们充分发扬人类智慧: 将所有点全部绕原点旋转 ...

  7. linux中控操作相关

    1.首先生成无密码登陆密钥 一般使用rsa 2.编写shell脚本 work_dir=$(pwd) 3.远程拷贝 work_dir=$(pwd) ..} do ¥{host_prefix}$i:$ e ...

  8. shell常用测试命令

    预定义变量: 预定义变量是由Bash程序预先定义好的一类特殊变量,用户只能使用预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值.预定义比变量使用"$"符合和另一个符 ...

  9. cpp分解质因数

    原理有点像埃氏筛. #include <stdio.h> #include <iostream> #include <stdlib.h> using namespa ...

  10. Java 成员变量和局部变量

    1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...