MYSQL数据库修复流水帐

阅读更多

首先说一句.这个只是我对自己修复mysql数据库的一个流水帐.没有太多的详细解释..因此..如果看不懂的可以直接发问.我会及时回复..如果你有一点基础的.那就不会太难.很容易看懂..我说也只是一个方法..各位可以自己充实更完善的修复手段

刚刚突然由朋友和我说他的blog无法登录了.因为和我是放在一个服务器上的.因此我下意识的看了一下自己的blog.发现.查询数据库出错(mysql).但是并不是链接错误.因此应该排出服务器端mysql服务停止的问题.

随即.我.打开phpmyadmin..想登入数据库看一下.发现并无问题.然后我有登录了朋友的blog发现没问题.此时我额头冒汗(其实我镇静,但还是有种心跳加速的感觉,不过和以前碰到问题比好多了.也许计算机玩多了.问题看多了.即便是自己不知道如何解决的.也不会很紧张..这大概就是所谓的皮厚吧.呵),接着我登录了一下他的blog,发现并无任何问题.

最后.我再次进入Phpmyadmin.打开我的数据库..接着我就发现问题了.发现我的一个表.数据行变成0了.我知道肯定不对了.点击链接打开这个表.发现报错.表crash了..完了.反正不上服务器是没办法修复了


远程登入服务器.第一件事.停止mysql的服务..通过 KILL 快速宕掉服务也可以.或者在服务中手动停止..然后通过网上搜到的数据库修复命令. "myisamchk"..(记得如果你没有把mysql安装目录下的bin目录放到path中,那就需要进入mysql安装路下的bin目录中执行,否则会出错.我已经加入到path中.方法各位可以搜索一下环境变量设置方法.)..还有说一个知识..MYSQL的数据库存放规则是将数据库建立成一个文件夹存放在MYSQL安装目录下的DATA目录中的,然后数据库中的每一个表就是3个文件存放在这个文件夹下(这三个文件文件名与表名相同.后缀分别是FRM-列的相关信息和内容,MYI-索引,MYD-数据),举个例子.比如你的mysql安装在C盘,有个数据库叫t_db,有个表叫t_db_table.那么结构就是 c:/mysql/data/t_db/t_db_table.myi/myd/frm 这样三个同前缀不同扩展名的文件.

引用
1: 进入控制台 CMD
2: 备份需要修复的文件复制出来,例如复制到 d:/tmp 下
3: 进入 mysql安装目录/data/需要修复的数据库  然后键入命令 >myisamchk 表名.myi  //查看错误信息
4: 然后开始修复动作,我用的是 >myisamchk -safe -recover 表名.myi
5: 等待.看着屏幕跳动的媳妇信息.
6: 跳出命令说明修复工作完成
7: 恢复MYSQL服务
8: 再次登录我的blog查看.问题全部修复.数据项一个也没有丢失.并顺利的发布这篇文章


以上就是我整个修复过程..其实很简单...各位也可以自己充实自己的修复方式..可以去官网看看手册.BIN目录下的很多工具都非常有用..没必要再去下载.呵呵.就是命令行的..界面不那么友好...总共好时.从发现问题,到分析,查找,修复.一共只用了.15分钟..还是蛮快的..至于发生这个的原因.根据官方的解释就是当数据库系统对某个表进行读写操作时.出现异常中断的状况就有可能导致此类情况的发生...(轻描淡写的一句.不是吗.呵呵).

所以总结一下废话: 呵呵...碰到问题不要急..然后相信搜索引擎的威力..相信你肯定不会倒霉的第一个碰到这个问题..接着找对关键字搜索..仔细阅读相关文章并动手操作..记得做好备份..

最后说一句..同志们..电脑这玩意..有时候真的有点傻..大家自己要做好预防备份工作啊..呵呵.

Tags - mysql

你可能感兴趣的:(MySQL,数据结构,搜索引擎,Blog,工作)