Mysql数据表的修复

Mysql数据表的修复
问题:大数据量的数据导致mysql在查询时出现问题,具体问题实质不清楚,问题表现为对表的查处出错,使用check ,repair ,以及使用phpMyAdmin对数据库操作时候都出现错误。
处理过程:刚刚开始怀疑是mysql数据库对单表的容量有限制,或者是操作系统对文件的大小有限制后来发现
http://www.jianzhaoyang.com/database/mysql-table-size-limit
在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了
通过命令
show table status
或者又phpMyAdmin可得到下面的图标
   

  frm、MYI、MYD   分别是   MyISAM   表的表结构\索引\数据文件  
操作系统                                    大小限制
win32 w/ FAT/FAT32              2GB/4GB
win32 w/ NTFS                      2TB(可能更大)
Linux 2.2-Intel 32-bit            2GB (LFS: 4GB)
Linux 2.4+                            4TB(ext3)
Solaris 9/10                         16TB
NetWare w/NSS filesystem  8TB
MacOS X w/ HFS+               2TB
 
在proc/version中查处
Linux version 2.4.33.3

最后使用下面的方法解决
http://logzgh.itpub.net/post/3185/454455
myisamchk -r -q tbl_name
myisamchk -r -q *.MYI

你可能感兴趣的:(Mysql数据表的修复)