源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)

  • 时间:2022-05-02 18:00 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)
本文为大家分享了解决Mysql存储引擎MyISAM常见问题的方法,供大家参考,具体内容如下 [b]一、处理MyISAM存储引擎的表损坏[/b] 在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况。如以下情况: [b].frm被锁定不能修改[/b] [b]找不到.myi文件(索引文件)[/b] [b]意外结束记录[/b] [b]文件被毁坏[/b] [b]从表处理器得到错误nnn [/b] [b]解决办法1:[/b] 使用MySQL自带的myisamchk工具进行修复 打开bin目录,可以看到该工具 [img]http://files.jb51.net/file_images/article/201605/2016051309262712.jpg[/img]   命令如下 myisamchk -r tablename r代表recover 或 myisamchk -o tablename -o参数代表–safe-recover 可以进行更安全的修复 [b]解决办法2: [/b] 使用MySQL的CHECK table和repair table命令进行修复 check table用来检查表是否有损坏,repair table用来对坏表进行修复。 [b]二、MyISAM表过大,无法访问问题[/b] 首先我们可以通过myisamchk命令来查看MyISAM表的情况。如下图,我查看admin表 [img]http://files.jb51.net/file_images/article/201605/2016051309262813.jpg[/img]   [b]datefile length[/b]代表当前文件大小 [b]keyfile length[/b]代表索引文件大小 [b]max datefile length[/b] 代表最大文件大小 [b]max keyfile length[/b] 代表最大索引大小 可以通过如下命令来进行扩展数据文件大小 alter table table_name MAX_ROWS=88888888 AVG_ROW_LE=66666 [b]三、数据目录磁盘空间不足[/b] [b]1、针对MyISAM存储引擎[/b] 可以将数据目录和索引目录存储到不同的磁盘空间。 [b]2、针对InnoDB存储引擎[/b] 对于InnoDB存储引擎的表,因为数据文件和索引文件时存放在一起的。所以无法将他们分离。当磁盘空间出现不足时候,可以增加一个新的数据文件,这个文件放在有充足空间的磁盘上。具体实现是通过InnoDB_data_file_path中增加此文件。 innodb_data_file_path=/home/mysql/data:10000M;/user/mysql/data:10000M:autoextend 参数修改之后,需要重启服务器,才可以生效。 [b]四、同一台主机上安装多个Mysql[/b] 除了每个Mysql安装目录不能相同外,还需要的是port和socket不能一样。 mysql.sock就是客户端连接与mysql间通信用的。socket文件,只能本机使用,远程连接要通过tcp/ip了。 以上就是Mysql存储引擎MyISAM常见问题解析,谢谢大家的阅读。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部