永发信息网

mysql5.1误删除innodb表文件时mysql无法启动怎么办

答案:1  悬赏:50  手机版
解决时间 2021-02-11 01:27
mysql5.1误删除innodb表文件时mysql无法启动怎么办
最佳答案
有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小峡门我想知道这个在什么地方
【标签理论】简述标签理论的基本观点。
成人斗鸡眼可以矫正吗
鸿景驾校(报名处)怎么去啊,有知道地址的么
工商死期存款 没有存折在异地能取出来吗
铝合金门窗防雷接地要怎么做
“方便人们操作”的“方便”,动词,用英语怎
后稷街地址有知道的么?有点事想过去
“不尚贤,使民不争;不贵难得之货,使民不为
柳仙洞地址在什么地方,想过去办事
修武县质量技术监督局地址在什么地方,想过去
形成我国长江流域伏旱天气的主要因素是①气旋
飞机航班托运不能带的东西? 电动脱毛刀,修
青岛同方药业NO.38地址在哪,我要去那里办事
水果电池的电压与水果大小有关吗
推荐资讯
平安银行信用卡打电话过来叫我办信用卡,我办
光绪年间50两银元宝值多少钱,保存完好
电信宽带用了半年可以更改套餐吗
每天广州都有人打电话问我是不是信丰快递,我
有关狭窄性腱鞘炎,下列哪项是错误的A.病变不
该图中①②.③表示同一类地理事象,a.b.c
拐集村地址有知道的么?有点事想过去
茂南区美术家协会在什么地方啊,我要过去处理
安卓4.1.3手机锁屏壁纸怎么换
胆结石可以吃鸭蛋吗?
丽湖山庄地址有知道的么?有点事想过去
云易恒基在营业吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?