使用tmpfs存放MySQL的临时文件的问题一则
2010-07-17 00:15
519 查看
最近测试使用tmpfs文件系统作为tmpdir选项存放临时文件的位置,具体步骤网上有很多,但是遇到了一个小bug。
MySQL的相关参数:
default-storage-engine = INNODB
innodb_flush_method=O_DIRECT
tmpdir = /tmp/mysqltmp
/tmp/mysqltmp目录为tmpfs。
使用以下语句创建Innodb类型的临时表:
SQL> create temporary table tmpdemo(a int) engine=innodb;
查看error日志有如下警告:
InnoDB: Failed to set O_DIRECT on file /tmp/mysqltmp/#sqla61_62b9_0.ibd: CREATE: Invalid argument, continuing anyway
InnoDB: O_DIRECT is known to result in 'Invalid argument' on Linux on tmpfs, see MySQL Bug#26662
虽然报错,但通过上面的信息可以看出并未影响正常的数据操作,实际情况也是如此,那么如何避免这种error呢?
1.创建memory或myisam的临时表代替innodb;
2.修改innodb_flush_method为非O_DIRECT,如O_DSYNC、fdatasync;
参考:
http://bugs.mysql.com/bug.php?id=26662
http://bugs.mysql.com/bug.php?id=45671
MySQL的相关参数:
default-storage-engine = INNODB
innodb_flush_method=O_DIRECT
tmpdir = /tmp/mysqltmp
/tmp/mysqltmp目录为tmpfs。
使用以下语句创建Innodb类型的临时表:
SQL> create temporary table tmpdemo(a int) engine=innodb;
查看error日志有如下警告:
InnoDB: Failed to set O_DIRECT on file /tmp/mysqltmp/#sqla61_62b9_0.ibd: CREATE: Invalid argument, continuing anyway
InnoDB: O_DIRECT is known to result in 'Invalid argument' on Linux on tmpfs, see MySQL Bug#26662
虽然报错,但通过上面的信息可以看出并未影响正常的数据操作,实际情况也是如此,那么如何避免这种error呢?
1.创建memory或myisam的临时表代替innodb;
2.修改innodb_flush_method为非O_DIRECT,如O_DSYNC、fdatasync;
参考:
http://bugs.mysql.com/bug.php?id=26662
http://bugs.mysql.com/bug.php?id=45671
相关文章推荐
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 使用tmpfs文件系统做MySQL tmpdir潜在的问题
- 在JSP开发中使用jdom解析临时存放数据的XML文件
- mysql更改数据库文件存放位置的问题
- 开发在Excel中使用的ActiveX控件时的注意事项--exd 临时文件问题
- activiti-explorer:使用mysql导入外部bpmn文件后存在乱码的问题
- unserialize的这个问题是由一个emlog论坛用户在使用时报错而发现的 问题表现情况如下: emlog缓存的保存方式是将php的数据对象(数组)序列化(serialize)后以文件的形式存放,
- [转载] MYSQL 5.7中临时文件的使用
- Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式,按天存放,解决catalina.out日志文件过大问题
- jdbc链接mysql的第二个例子。使用properties文件存放连接信息。使用jar文件一个
- VMWare虚拟机 使用vmtools拷贝文件 临时文件问题
- mysql临时文件产生多引起mysql 挂起的问题处理
- Tomcat下使用Log4j,按日期每天存放,解决catalina.out日志文件过大问题
- VS使用中(sdf和ipch)临时文件放置问题解决
- CrossApp开发时, 存放在Resource下的文件在android环境下使用assets/..路径 使用C++的文件操作类如(fopen、ifstream等)找不到的问题
- Mysql第一次使用-如何解决Mysql "发生系统错误2,找不到指定的文件" 的问题(第一次安装使用)
- MySql使用全记录5 -----解决Windows下用命令导入sql文件时"Failed to open file"的问题
- 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题
- mysql使用load导入csv文件所遇到的问题及解决方法