登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

永福的技术博客

Linux运维

 
 
 
 
 

日志

 
 

【永福】解决innodb 1146 Table `ztnews_net.cmstop_member`doesn't exit 的.frm存在,但表损坏的情况  

2011-07-12 22:08:41|  分类: 软件编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天使用innodb表遇到了大问题。如图:
【永福】解决innodb 1146 Table `ztnews_net.cmstop_member`doesnt exit 的.frm存在,但表损坏的情况 - 永福 - 永福的技术博客
提示说cmstop_member表不存在。
但在ztnews_net文件夹下发现cmstop_member.frm文件是存在的,而且使用命令show tables;也是显示有表cmstop_member表存在,为什么会出现这种情况呢?在拷打了谷哥(google)之后,又去求解度娘(baidu),大多数倾向于认为是数据库表损坏了。
还好我有备份的好习惯,不过这次没有使用mysqldump导出成.sql文件的方式,而是将整个数据库存放目录/www/mysql给备份了。开始还以为只有myisam可以使用这种目录备份,害我还担心了好久,到处在网上找资料。突然发现http://hi.baidu.com/%B1%B1%B7%BD%B2%CB%B2%CB/blog/item/3a4f4fd6d8821ed4a044df47.html 博文,欣喜若狂呀。

/etc/init.d/mysqld stop                           #将数据库停止运行
mv /www/mysql /www/mysql_save         #备份,至少可以回到当前状态嘛,呵呵。备份是生命线呀!!
cp -r /home/mysql_bak /www/mysql      #将原来的备份复制过来
chmod ***  /www/mysql                          #一定要修改成正确的权限呀," *** "代表相应的权限,子目录也要一一对应修改。
chown mysql:root /www/mysql      #修改成正确的属主和属组,当然子目录的也要一一对照修改。
/etc/init.d/mysqld start     #OK,成功。

再来说说怎么防止数据库损坏这种情况呢:
1、一定要使用正常的方式关闭mysql,尤其是在innodb的情况下。
2、一定不要使用kill -9 mysql的方式关闭mysql,特殊特殊特殊的情况下可以。
3、不要在mysql运行的情况下去动mysql的任何文件,包括重命名,修改数据库文件等。

下面再摘录对我有帮助的那篇博文,感谢博主:

只要在mysql的安装文件中找到data文件夹,然后在里面建立一个文件夹,比如test。这个test其实就对应着数据库的名称,所以,你想要起什么样的数据库名称就把文件夹起什么名字。

然后把.frm文件导进去。注意还要在data目录下加入ib_logfile0,ib_logfile1,ibdata1这几个文件。

要不然在mysql里只能找到表名(其实一个.frm文件就是对应的数据库中的一个表。)

而不能对其进行操作。

说明:

比如你原来的mysql中有一些数据库了。可以先把原来的data改名字备份在同一目录下。(可能要改名字系统会提示有另一程序在使用这个文件,这个时候可以到控制面板的服务里面,把mysql的服务先关掉,等改完名字,把东西都导进去后再开服务)

然后另建一个data,把在里面建好数据库名把.frm导进去。

================================================================================

2007923日再整理:

停止服务可以通过管理工具里面的服务来停,或者用cmd 打开dos界面输入net stop mysql,启动用net start mysql;

只要用旧的ibdata1覆盖原来的,再把相关的数据库copy过去,然后重新启动数据库,

ok,进入以后要是对表不能操作可能是数据表已经损坏了.

(如果不行报1146 ,建议重启一下机器在看看)

ib_logfile0,ib_logfile1好象也可以不用覆盖,不然有时候mysql数据库启动不了了,1067错误.


  评论这张
 
阅读(1016)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018