Unable to use slave's temporary directory /tmp - Can't create/write to file '/tmp/SQL
16lz
2021-01-22
这个错误时在Mysql主从配置产生的,最后找到这个Mysql的一个bug
http://bugs.mysql.com/bug.php?id=62055
bug的主要原因是:打开文件的函数中指定打开模式时,如果O_CREAT和O_EXCL同时指定,那么当文件存在时会导致打开文件出错,这个使用方法本来也没有什么错误,但是当使用Mysql主从备份机制,在一台服务器上安装多个mysqld实例时,就会出问题,代码在Mysql源码中/sql/slave.cc文件中,Mysql5.1.68是在2904行
/* Check the temporary directory used by commands like LOAD DATA INFILE. */ static int check_temp_dir(char* tmp_file) { int fd; MY_DIR *dirp; char tmp_dir[FN_REFLEN]; size_t tmp_dir_size; DBUG_ENTER("check_temp_dir"); /* Get the directory from the temporary file. */ dirname_part(tmp_dir, tmp_file, &tmp_dir_size); /* Check if the directory exists. */ if (!(dirp=my_dir(tmp_dir,MYF(MY_WME)))) DBUG_RETURN(1); my_dirend(dirp); /* Check permissions to create a file. */ if ((fd= my_create(tmp_file, CREATE_MODE, O_WRONLY | O_BINARY | O_EXCL | O_NOFOLLOW, MYF(MY_WME))) < 0) DBUG_RETURN(1); /* Clean up. */ my_close(fd, MYF(0)); my_delete(tmp_file, MYF(0)); DBUG_RETURN(0); }
更多相关文章
- [超入门]使用docker做mysql主从复制实验
- Android开发之如何读写文件
- 在Eclipse中使用aar文件
- 对于Android的文件结构介绍
- 浅析Android的资源打包和安装后Apk文件的下落
- android 文件读取(assets)
- JAVA环境下创建JSP文件报错: The superclass "javax.servlet.http
- 【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件
- Java 简单解决springmvc获取properties文件里面中文内容出现论码