InnoDB数据字典操作进行故障排除
InnoDB数据字典操作进行故障排除
- InnoDB数据字典操作进行故障排除
InnoDB数据字典操作进行故障排除
- 事情是这样的,因为昨天晚上停电,导致服务器全部关机,早上一到公司就把所有服务启动,当我启动爬虫任务的时候,发现采集提示数据库入库失败,mysql
提示连接失败。我一看这提示应该是mysql服务没启动,我赶忙进入宝塔看看MySQL什么情况,果然是关闭状态,马上重启却重启失败,我看了看错误日志,好像是缺少了启动需要文件,我突然记起前天我手动改了配置文件数据存储位置,而没有使用宝塔提供的数据迁移功能
可能手动修改会造成问题,但当时没有问题,我想切换回原来目录应该就可以启动了,说干就干,使用迁移功能切换回原来储存目录,果然能行,服务启动了。
但是第二个问题来,我切换回来后启动采集服务,mysql提示采集数据库表不存在,我马上打开数据库发现所有采集数据表都打不开提示表不存在,查看mysql错误日志提示:Cannot
open table bk_esf_xq/bk_esf_copy from the internal data dictionary
of InnoDB though the .frm file for the table exists. See
http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html
for how you can resolve the problem.它说无法从InnoDB的内部数据字典中打开表bk_esf_xq/bk_esf_copy,尽管表存在.frm文件,
.frm 是mysql数据表结构文件.
如果你没有数表结构备份可以使用dbsake提取.frm文件表结构,这是偶然发现的一个工具,文档中它这样介绍自己:dbsake - a (s)wiss-(a)rmy-(k)nif(e) for MySQL
作者一定是一个对 mysql 很有心得的人,工具从下载,安装到使用,简单,利落。
$ curl -s get.dbsake.net > dbsake$ chmod u+x dbsake$ ./dbsake frmdump [frm-file-path]
- MySQL提供了解决问题的连接http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html好评,查看官网文档发现问题解决办法,需要创建一个新库,用ibd文件数据导入新表 .idb 是mysql数据备份文件.
官网案例:在新的MySQL实例上,在同名数据库中重新创建表。
mysql> CREATE DATABASE sakila;mysql> USE sakila;mysql> CREATE TABLE actor (actor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,first_name VARCHAR(45) NOT NULL,last_name VARCHAR(45) NOT NULL,last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (actor_id),KEY idx_actor_last_name (last_name))ENGINE=InnoDB DEFAULT CHARSET=utf8;
丢弃新创建的表的表空间。
mysql> ALTER TABLE sakila.actor DISCARD TABLESPACE;
将孤立.ibd文件从备份目录复制到新的数据库目录。
shell> cp /backup_directory/actor.ibd path/to/mysql-5.6/data/sakila/
确保.ibd文件具有必要的文件权限。
导入孤立.ibd文件。发出警告,指示InnoDB尝试在不进行模式验证的情况下导入文件。
mysql> ALTER TABLE sakila.actor IMPORT TABLESPACE; SHOW WARNINGS;
Query OK, 0 rows affected, 1 warning (0.15 sec)Warning | 1810 | InnoDB: IO Read error: (2, No such file or directory)
Error opening './sakila/actor.cfg', will attempt to import
without schema verification
查询表以确认.ibd 文件已成功还原。
mysql> SELECT COUNT(*) FROM sakila.actor;
+----------+
| count(*) |
+----------+
| 200 |
+----------+
5.自此就可以恢复所有表结构与表数据,又开心的爬取数据入库了
InnoDB数据字典操作进行故障排除相关推荐
- 三菱mr服务器如何显示脉冲数,MR-JE-200A参数设置三菱MR-JE-200A操作手册(故障排除篇) - 广州正凌...
类型:MR-C型. 符号10A适用电机型号:HC-PQ23. 电源电压:单相AC220V. 驱动器方面:伺服驱动器在发展了变频技术的前提下, 在驱动器内部的电流环, 速度环和位置环(变频器没有该环)都 ...
- CL210OpenStack操作的故障排除--诊断OpenStack问题
- winxp文件、打印机共享故障排除方法及“操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上
上午同时说,网络打印机打印不了,于是首先看一下打印服务器IP是不是给换了,结果没换. 接着尝试重新添加一下网络打印机,结果问题来了,连不上,提示: 操作无法完成.键入的打印机名不正确,或者指定的打印机 ...
- 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...
- 网络故障排除连载之一:常用排除方法综述
一.对网络管理人员的要求 目前互联网络技术.拓扑和应用的复杂性决定了网络管理人员必须: 1.确保网络稳定运行: 2.掌握故障排除方法: 3.熟悉各种协议可能故障点,迅速定位排除故障. 对协议要求有精深 ...
- 基于路由器网络诊断步骤和故障排除技巧
网络诊断是管好.用好网络,使网络发挥最大作用的重要技术工作.本文简述分层诊断技术,结合讨论路由器各种接口的诊断,综述互联网络连通性故障的排除. 网络故障诊断概述 网络故障诊断,从故障现象出发,以网络诊 ...
- linux5启动过程及故障排除
启动过程及故障排除 1加电-----cmos---(post上电自检程序------mbr引导----grub菜单 开机自检>MBR引导>GRUB菜单>加载内核>运行init进 ...
- 6421B Lab3 DNS的配置与故障排除
共1个实验 实验L3A:DNS的配置与故障排除 共有3个练习: 练习1:设计一个DNS架构. 练习2:部署与配置DNS. 练习3:DNS的故障排除. 练习1:设计一个DNS架构 场景:contoso公 ...
- mysql进程内存不足_故障排除指南:MySQL的运行内存不足怎么办?
原标题:故障排除指南:MySQL的运行内存不足怎么办? [ ] [IT168 评论]故障排除对于所有人来说都不会是一件有趣的事情,尤其是在没有崩溃报告的情况下.如果MySQL因内存不足而崩溃时应该怎么 ...
最新文章
- Swift2.1 语法指南——自动引用计数
- CocosCreator内置函数实现物体拖动
- CodeForces509F Progress Monitoring
- 使用 Chrome 开发者工具分析内存问题
- 百度开源呼叫中心系统
- html中将字体设置成透明的,解决css设置背景透明,文字不透明_html/css_WEB-ITnose
- linux异常死机日志,Linux常见死机原因
- 基于Andriod的简易记事本APP设计与实现
- 46家中外知名企业笔试面试题目
- 微信直播小程序端集成源代码
- 用Python如何开发Excel宏脚本?新手必学
- A006-AndroidManifest.xml解析
- 计算机为什么有网络凭证,Win10访问局域网中计算机共享文件显示需要网络凭证怎么办?...
- 普元 AppServer 7.0 执行startServer.cmd启动,命令行一直启动中,server.log报错:com.primeton.appserver.l7e.exception.Impr
- XCode下Object C和C++混合编译
- 南开大学和华科计算机考研哪个好,都是985名校,南开大学和天津大学,哪个更值得上?...
- windows应用商店重置后不能用
- 最适合初学者的Linux运维学习教程2018版
- java程序占用实际内存大小
- Web安全信息收集之CMS指纹识别
热门文章
- 正交变换——来龙去脉
- opencv 去除背景
- 微服系列之Feign使用HttpClient和OkHttp网络请求框架
- javaWeb基础---Jsp
- Eclipse中如何查看使用的JDK版本?
- 【20221205】Windows系统反斜杠(倒斜杠 \ )和 Linux系统正斜杠(斜杠 / )
- SQL Server性能监视
- java向上取整去掉末尾的0_BigDecimal去除末尾多余的0
- WslRegisterDistribution failed with error: 0x80370102 Error: 0x80370102 ???????????????????
- 激活函数变种(Sigmoid、Hard-Sigmoid、Tanh、ReLU、Leaky ReLU、ELU、SELU、ReLU6、Swish、Hard-Swish、Mish)