您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

模拟磁盘满情况下MySQL表现

时间:09-28来源:作者:点击数:

本文主要模拟磁盘满的情况下,MySQL服务的表现。

模拟磁盘满的故障,可以通过创建大文件来进行。

创建大文件可通过三个进行: truncate、dd、fallocate。

本文使用dd命令创建大文件。

创建大文件

/bin/dd if=/dev/zero of=/tmp/dd_big_file bs=1G count=360

/bin/dd: writing `/tmp/dd_big_file': No space left on device
186+0 records in
185+0 records out
199480524800 bytes (199 GB) copied, 276.479 s, 722 MB/s

参数定义:

  • if 输入文件
  • of 输出文件
  • bs 每块的容量大小
  • count 创建的文件构成的块数

通过以上命令,就可以创建最大360G的大文件。

从输出结果看,执行到最后,报错没有空间可以使用。

dd的速度,约是1s 1G。

写入数据

接着在命令行终端向MySQL写入数据:

> insert into tb_test values(1,'one message');


此时写SQL卡住, 或者说hang住,一直不返回。

如果插入一次没有卡住,就多执行两次。

查看错误日志

2021-03-20T16:49:58.253154+08:00 1490615 [ERROR] Disk is full writing './mysql-bin.000001' (Errcode: 15489056 - No space left on device). Waiting for someone to free space...
2021-03-20T16:49:58.253213+08:00 1490615 [ERROR] Retry in 60 secs. Message reprinted in 600 secs
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐