MySQL报错 :Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device)的解决方法
作者:周全全
这篇文章主要给大家介绍了MySQL报错解决:Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device),文中通过代码示例和图文介绍的非常详细,需要的朋友可以参考下
1. 问题描述
执行sql报错如下:
update `data` set update_time=now() > 3 - Error writing file '/tmp/MLfd=76' (OS errno 28 - No space left on device) > 时间: 77.55s
2. 错误原因
MySQL报错 “Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device)” 表明在写入文件时,临时目录(tmpdir) 的设备上没有足够的可用空间
,可能会导致MySQL无法执行某些操作,如排序或临时表的创建
3. 解决方案
在MySQL 8中,默认的临时目录(tmpdir)路径取决于操作系统的不同。下面是一些常见操作系统上的默认tmpdir路径:
- Linux:默认情况下,MySQL 8在Linux上的tmpdir路径是 /tmp。
- Windows:默认情况下,MySQL 8在Windows上的tmpdir路径是 C:\Windows\Temp。
- macOS:默认情况下,MySQL 8在macOS上的tmpdir路径是 /tmp。
请注意,这些路径是MySQL 8的默认设置,但实际的tmpdir路径可能因你在MySQL配置中的特定设置而有所不同。你可以通过以下步骤来验证和更改tmpdir路径:
- 连接到MySQL数据库。
- 执行以下命令以查看当前的tmpdir路径设置:
SHOW VARIABLES LIKE 'tmpdir';
- 查看特定tmpdir路径目录的剩余空间
如果确定可以清理空间,可以直接清理空间(删除时注意rm命令的使用,别tm删错了)如果你想更改tmpdir路径,可执行以下命令
# 1、在挂载磁盘上创建一个文件夹 mkdir /mnt/sdb/mysqltmp # 2、设置用于组和读写权限 chown -R mysql:mysql /mnt/sdb/mysqltmp chmod -R 777 /mnt/sdb/mysqltmp # 3、打开mysql的配置文件 vim /etc/my.cnf # 4、在文件里面修改缓存路径 [mysqld] tmpdir = /mnt/sdb/mysqltmp 然后 :wq保存并退出 # 5、重启mysql systemctl restart mysqld
重启后验证:
以上就是MySQL报错 :Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device)的解决方法”的详细内容,更多关于MySQL报错Error writing file的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- 解决MySQL报错1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPL问题
- 解决MySQL报错Error 3948 (42000): Loading local data is disabled问题
- mysql报错:1406 Data too long for column问题的多种解决方案
- 解决远程连接MySQL报错:2003 - Can‘t connect to MySQL server on ‘X.X.X.X‘ (10060 “Unknown error“)问题
- mysql使用报错1142(42000)的问题及解决
- mysql启动时报错:error while loading shared libraries: libncurses.so.5: cannot open shared object file的解决办法