这个错误时在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);
}

更多相关文章

  1. [超入门]使用docker做mysql主从复制实验
  2. Android开发之如何读写文件
  3. 在Eclipse中使用aar文件
  4. 对于Android的文件结构介绍
  5. 浅析Android的资源打包和安装后Apk文件的下落
  6. android 文件读取(assets)
  7. JAVA环境下创建JSP文件报错: The superclass "javax.servlet.http
  8. 【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件
  9. Java 简单解决springmvc获取properties文件里面中文内容出现论码

随机推荐

  1. Android 代码画角标 offcutView
  2. android 模块化
  3. Android(CM)源码国内镜像下载
  4. RecyclerView 各种相关问题解决方法
  5. android开关控件使用(一)
  6. Android Context详解
  7. Android UI 中 gravity 与 layout_gravit
  8. Android之ContentProvider源码解析
  9. EditText焦点问题
  10. android 图片画画板