Mysql之Can't create/write to file '/tmp/#sql_2b6d_0.MY 得问题-yellowcong

版权声明:本文为博主yellowcong原创文章,未经博主允许不得转载。 https://blog.csdn.net/yelllowcong/article/details/89143711

Can't create/write to file 这个问题,是由于mysql默认配置得缓存目录默认是/tmp导致得,解决方案就是手动创建一个目录,设置好权限后,修改配置/etc/my.cnf ,添加tmpdir=/data/mysql_data/tmp ,设定我们指定的缓存目录,然后重启mysql即可解决问题。

问题

Caused by: java.sql.SQLException: Can't create/write to file '/tmp/#sql_2b6d_0.MYI' (Errcode: 13 - Permission denied)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) ~[mysql-connector-java-5.1.21.jar:?]
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074) ~[mysql-connector-java-5.1.21.jar:?]
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006) ~[mysql-connector-java-5.1.21.jar:?]
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468) ~[mysql-connector-java-5.1.21.jar:?]
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629) ~[mysql-connector-java-5.1.21.jar:?]

在这里插入图片描述

解决办法

在这里插入图片描述
chmod -R mysql:mysql /data/mysql_data/tmp 设定这个缓存目录得权限,然后配置my.cnf,设置tmpdir得目录,并重启mysql 即可

#/etc/my.cnf
tmpdir=/data/mysql_data/tmp

然后执行命令 show variables like '%dir%' ; ,查看设置是否ok,然后就没有那个问题了。
在这里插入图片描述

参考文章

https://blog.csdn.net/liuxiao723846/article/details/37816987

展开阅读全文

没有更多推荐了,返回首页