MySQL 8.x temp空间不足问题

目录

一、系统环境

二、问题报错

三、问题回顾

四、解决问题


 

一、系统环境

系统Ubuntu20.04 

数据库版本MySQL 8.0.21

二、问题报错

在MySQL上执行一个大的SQL查询报错Error writing file '/tmp/MYfd=142' (OS errno 28 - No space left on device)

Exception in thread "main" java.sql.SQLException: Error writing file '/tmp/MYfd=142' (OS errno 28 - No space left on device)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)

原因是表明在写入文件时,临时目录(tmpdir)的设备上没有足够的可用空间,可能会导致MySQL无法执行某些大的操作。

三、问题回顾

查看当前mysql使用的临时目录

show variables like 'tmpdir';

6395f92784874946ba31ec74b95ce33d.png

执行sql语句,通过df -h /tmp观察tmp空间使用情况变化

3b82c871dc2342ae9176cb3c8e4f7e52.png

四、解决问题

通过修改mysql配置文件来修改当前数据库的tmpdir路径设置。


# 在空间足够的位置创建temp文件

mkdir /database/mysqltmp

# 设置用于组和读写权限
chown -R mysql:mysql /database/mysqltmp
chmod -R 777 /database/mysqltmp

# 打开mysql的配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 在文件里面修改缓存路径 然后 :wq保存并退出
[mysqld]
tmpdir = /database/mysqltmp

# 更改/etc/apparmor.d/usr.sbin.mysqld添加
vim /etc/apparmor.d/usr.sbin.mysqld

/database/mysqltmp/* rw,

# 重启apparmor

/etc/init.d/apparmor restart


# 重启mysql
systemctl restart mysql

 

 

 

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 13:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 13:10:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 13:10:02       82 阅读
  4. Python语言-面向对象

    2023-12-16 13:10:02       91 阅读

热门阅读

  1. 【力扣100】240.搜索二维矩阵2

    2023-12-16 13:10:02       66 阅读
  2. 我的创作纪念日

    2023-12-16 13:10:02       61 阅读
  3. Vue学习笔记-Vue3中的provide与inject

    2023-12-16 13:10:02       63 阅读
  4. 2023-12-15 工作心得 SQL索引优化实践

    2023-12-16 13:10:02       54 阅读
  5. 细胞培养之一二三:哺乳动物细胞培养相关问题

    2023-12-16 13:10:02       63 阅读
  6. P1000 超级玛丽游戏

    2023-12-16 13:10:02       54 阅读
  7. 电商项目高并发缓存实践

    2023-12-16 13:10:02       41 阅读
  8. 屈臣氏中国销售业务转型

    2023-12-16 13:10:02       63 阅读