Rumah  >  Artikel  >  pangkalan data  >  MySQL处理磁盘满的方式

MySQL处理磁盘满的方式

WBOY
WBOYasal
2016-06-07 16:20:121417semak imbas

本文主要介绍了MySQL响应磁盘满错误的方式(如设备上无剩余空间),以及响应超配 额错误的方式(如写入失败或达到了用户屏蔽限制)。 本文介绍的内容与写入MyISAM表有关。它也适用于写入二进制日志文件和二进制索引文件,但对 row和record的应用应被视为event。

   本文主要介绍了MySQL响应磁盘满错误的方式(如“设备上无剩余空间”),以及响应超配 额错误的方式(如“写入失败”或“达到了用户屏蔽限制”)。

  本文介绍的内容与写入MyISAM表有关。它也适用于写入二进制日志文件和二进制索引文件,但对 “row”和“record”的应用应被视为“event”。

  出现磁盘满状况时,MySQL将:

  每分钟检查一次,查看是否有足够空间写入当前行。如果有足够空间,将继续,就像什么也未发生一 样。

  每10分钟将1个条目写入日志文件,提醒磁盘满状况。

  为了减轻问题,可采取下述措施:

  要想继续,仅需有足够的磁盘空间以插入所有记录。

  要想放弃线程,必须使用mysqladmin kill。下次检查磁盘时将放弃线程(1分钟)。

  其他线程可能会正在等待导致磁盘满状况的表。如果有数个“已锁定”的线程,,杀死正在 磁盘满状况下等待的某一线程,以便允许其他线程继续。

  对前述行为的例外是,当你使用REPAIR TABLE或OPTIMIZE TABLE时,或当索引是在LOAD DATA INFILE 或ALTER TABLE语句后、在批操作中创建的。所有这些语句能创建大的临时文件,如果保留这些文件,会 导致系统其他部分出现大问题。如果在MySQL执行这类操作的同时磁盘已满,它将删除大的临时文件,并 将表标注为崩溃。但对于ALTER TABLE例外,旧表保持不变。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn