Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)
数据库  /  管理员 发布于 6年前   451
本文为大家分享了解决Mysql存储引擎MyISAM常见问题的方法,供大家参考,具体内容如下
一、处理MyISAM存储引擎的表损坏
在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况。如以下情况:
.frm被锁定不能修改
找不到.myi文件(索引文件)
意外结束记录
文件被毁坏
从表处理器得到错误nnn
解决办法1:
使用MySQL自带的myisamchk工具进行修复
打开bin目录,可以看到该工具
命令如下
myisamchk -r tablename
r代表recover
或
myisamchk -o tablename
-o参数代表Csafe-recover 可以进行更安全的修复
解决办法2:
使用MySQL的CHECK table和repair table命令进行修复
check table用来检查表是否有损坏,repair table用来对坏表进行修复。
二、MyISAM表过大,无法访问问题
首先我们可以通过myisamchk命令来查看MyISAM表的情况。如下图,我查看admin表
datefile length代表当前文件大小
keyfile length代表索引文件大小
max datefile length 代表最大文件大小
max keyfile length 代表最大索引大小
可以通过如下命令来进行扩展数据文件大小
alter table table_name MAX_ROWS=88888888 AVG_ROW_LE=66666
三、数据目录磁盘空间不足
1、针对MyISAM存储引擎
可以将数据目录和索引目录存储到不同的磁盘空间。
2、针对InnoDB存储引擎
对于InnoDB存储引擎的表,因为数据文件和索引文件时存放在一起的。所以无法将他们分离。当磁盘空间出现不足时候,可以增加一个新的数据文件,这个文件放在有充足空间的磁盘上。具体实现是通过InnoDB_data_file_path中增加此文件。
innodb_data_file_path=/home/mysql/data:10000M;/user/mysql/data:10000M:autoextend
参数修改之后,需要重启服务器,才可以生效。
四、同一台主机上安装多个Mysql
除了每个Mysql安装目录不能相同外,还需要的是port和socket不能一样。
mysql.sock就是客户端连接与mysql间通信用的。socket文件,只能本机使用,远程连接要通过tcp/ip了。
以上就是Mysql存储引擎MyISAM常见问题解析,谢谢大家的阅读。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号