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

作者:lijiao 时间:2024-01-14 22:07:53 

本文为大家分享了解决Mysql存储引擎MyISAM常见问题的方法,供大家参考,具体内容如下

一、处理MyISAM存储引擎的表损坏

在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况。如以下情况:

.frm被锁定不能修改

找不到.myi文件(索引文件)

意外结束记录

文件被毁坏

从表处理器得到错误nnn

解决办法1:

使用MySQL自带的myisamchk工具进行修复
打开bin目录,可以看到该工具

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

命令如下
myisamchk -r tablename
r代表recover

myisamchk -o tablename
-o参数代表–safe-recover 可以进行更安全的修复

解决办法2:
使用MySQL的CHECK table和repair table命令进行修复
check table用来检查表是否有损坏,repair table用来对坏表进行修复。

二、MyISAM表过大,无法访问问题

首先我们可以通过myisamchk命令来查看MyISAM表的情况。如下图,我查看admin表

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

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
0
投稿

猜你喜欢

  • js Event对象的5种坐标

    2024-04-22 22:31:32
  • Flash的Fallback Content等

    2010-04-01 12:18:00
  • SQL Server用触发器强制执行业务规则

    2009-01-20 16:05:00
  • Python中单线程、多线程和多进程的效率对比实验实例

    2022-12-01 09:25:55
  • 网页禁用右键实现代码(JavaScript代码)

    2024-02-26 09:46:23
  • MySQL 密码设置

    2024-01-28 11:53:59
  • python对csv文件追加写入列的方法

    2022-11-14 01:56:29
  • SQL server 表数据改变触发发送邮件的方法

    2024-01-23 02:15:48
  • Python私有属性私有方法应用实例解析

    2022-11-08 05:09:03
  • 常用的javascript设计模式

    2023-08-18 06:54:27
  • python3 下载网络图片代码实例

    2021-11-21 01:11:40
  • MYSQL 批量替换之replace语法的使用详解

    2024-01-21 19:52:35
  • python计算书页码的统计数字问题实例

    2021-03-26 01:23:18
  • 用python读写excel的方法

    2021-11-11 10:10:50
  • python如何编写win程序

    2022-12-09 11:48:38
  • php 多个变量指向同一个引用($b = &$a)用法分析

    2023-11-02 23:28:11
  • python翻译软件实现代码(使用google api完成)

    2023-05-19 17:25:43
  • Go语言中错误处理实例分析

    2024-02-14 18:43:10
  • Python使用pyserial进行串口通信的实例

    2022-03-07 15:30:09
  • python统计一个文本中重复行数的方法

    2021-08-20 12:50:46
  • asp之家 网络编程 m.aspxhome.com