紧急求助:MYSQL数据库表里只能看到一条不全记录 我的MYSQL 数据库只能看到一条不全的记录,其他的数据全没了,但是看.MYD文件大小还有近9M,通过ultraedit打开还能看到一些数据,通过repair 和 myisamchk 修复依然还是一条残缺记录,请各位兄弟姐妹帮忙啊,万分感谢!我把库传到网上,哪位兄弟帮我看看,表名是:main 里面应该有两百多条记录数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 目前只能判断,应该是有办法恢复的,最好能熟悉一下.MYD文件的基本结构,找出那些标志了delete的行块,把这些标志清除,应该就可以。从下边可以看出,这个表大概有101行块被删除。d:\mysql-5.0.9-beta-win32\bin>myisamchk --defaults-file=d:\mysql-5.0.9-beta-win32\bin\my.ini -c -v D:\mysql-5.0.9-beta-win32\data\dbase\mainChecking MyISAM file: D:\mysql-5.0.9-beta-win32\data\dbase\mainData records: 1 Deleted blocks: 101myisamchk: warning: 1 client is using or hasn't closed the table properly- check file-size- check record delete-chainRecordlinks: 8586604 8569128 1159968 8302504 8530268 8441868 84370402819164 4279180 8223512 8136080 0 3641332 2173984 4583832 7793584 5342400 4064600 4315744 1104164 6655336 706604 6982440 4740424 95116 7681912 2089232 4425380 4387936 4235572 4263872 3401600 5538892 3559748 3421056 1152640 3719200 86696 1334908 8004932 7959872 6579292 679560 3606420 67536 4563528 8482436 562180 3741864 7809124 7938552 4867316 4227652 8397852 2806256 4694140 8250316 2338664 4937396 4253708 3062124 7751788 1267644 3790196 5833896 4496012 4631212 4374624 8197280 7854868 4811708 6717028 8354304 2305176 3014096 8391676 8575668 4361960 7927980 2076560 591772 2912396 5440500 2282972 2046588 8586404 4928624 7983956 1235744 7410084 3826176 1187064 3694552 47152 3781032 6709764987664 8290664 3773732 3737220 6704952- check key delete-chainblock_size 1024: 3072 2048 4096- check index reference- check data record references index: 1- check record linksMyISAM-table 'D:\mysql-5.0.9-beta-win32\data\dbase\main' is usable but should be fixed 若果能够弄出文本文件也行,我重新加一遍 请发到:[email protected] 非常感谢 理論上記事本是能夠打開不過我這裏打不開怎麼說都有9M數據...+ 機子老...用ultraedit 啦,之類啦,LZ也有 ultraedit看的没他贴的那么完整 sigh,如果每个字段都是定长的,那就很好弄了。可惜是变长的,mysql的变长记录格式有些复杂。还是用UltraEdit以文本方式打开,直接整理吧。 200多條數據60W+ 行 ,LZ 加油 我就是用ultraedit 打开后贴出来的啊。 请教一个关于mysql日志的小问题 SQL语句中不能使用数组吗? 急!!!在linux下mysql5.1.41下如何安装xtraDB MYSQL求平均值的问题,急! sql排名问题 又是一个MYSQL编码问题 怎么把mysql的character set 修改为gb2312 请教用户如何通过命令行方式连接MySQL数据库? MySQL查询 mysql 同一条sql每次查询时间不一样? gcc -Wall `gtk-config—cflags—libs` *.c -o cross-window -lglade mysql 查询语句出错
从下边可以看出,这个表大概有101行块被删除。d:\mysql-5.0.9-beta-win32\bin>myisamchk --defaults-file=d:\mysql-5.0.9-beta-win32\bin\my.ini -c -v D:\mysql-5.0.9-beta-win32\data\dbase\main
Checking MyISAM file: D:\mysql-5.0.9-beta-win32\data\dbase\main
Data records: 1 Deleted blocks: 101
myisamchk: warning: 1 client is using or hasn't closed the table properly
- check file-size
- check record delete-chain
Recordlinks: 8586604 8569128 1159968 8302504 8530268 8441868 8437040
2819164 4279180 8223512 8136080 0 3641332 2173984 4583832 7793584
5342400 4064600 4315744 1104164 6655336 706604 6982440 4740424 95116
7681912 2089232 4425380 4387936 4235572 4263872 3401600 5538892 3559748 3421056 1152640 3719200 86696 1334908 8004932 7959872 6579292 679560 3606420 67536 4563528 8482436 562180 3741864 7809124 7938552 4867316 4227652 8397852 2806256 4694140 8250316 2338664 4937396 4253708 3062124 7751788 1267644 3790196 5833896 4496012 4631212 4374624 8197280 7854868 4811708 6717028 8354304 2305176 3014096 8391676 8575668 4361960 7927980 2076560 591772 2912396 5440500 2282972 2046588 8586404 4928624 7983956 1235744 7410084 3826176 1187064 3694552 47152 3781032 670976
4987664 8290664 3773732 3737220 6704952- check key delete-chain
block_size 1024: 3072 2048 4096
- check index reference
- check data record references index: 1
- check record links
MyISAM-table 'D:\mysql-5.0.9-beta-win32\data\dbase\main' is usable but should be fixed
不過我這裏打不開
怎麼說都有9M數據...+ 機子老...用ultraedit 啦,之類啦,LZ也有
60W+ 行 ,LZ 加油