免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4225 | 回复: 9
打印 上一主题 下一主题

MySQL Slave无法自动删除临时文件? [复制链接]

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:50:39
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-06 11:17 |只看该作者 |倒序浏览
5可用积分
debian-5.0.5 + mysql 5.1.41-3~bpo50+1-log 的环境。这台主机是专用的 slave,没有其他服务会访问它。

一直存在的问题是:

这台主机不会自动清理临时文件,也就是 tmpdir 定义的路径下的文件:
  1. admon:/var/tmp# ls -lt | head
  2. total 445608
  3. -rw-rw---- 1 mysql mysql    8930 2010-07-06 04:05 #sql48aa_1_bf.frm
  4. -rw-rw---- 1 mysql mysql   32244 2010-07-06 04:05 #sql48aa_1_bf.MYD
  5. -rw-rw---- 1 mysql mysql    1024 2010-07-06 04:05 #sql48aa_1_bf.MYI
  6. -rw-rw---- 1 mysql mysql    8820 2010-07-06 04:05 #sql48aa_1_be.frm
  7. -rw-rw---- 1 mysql mysql  229484 2010-07-06 04:05 #sql48aa_1_be.MYD
  8. -rw-rw---- 1 mysql mysql    1024 2010-07-06 04:05 #sql48aa_1_be.MYI
  9. -rw-rw---- 1 mysql mysql    8930 2010-07-06 03:05 #sql48aa_1_bd.frm
  10. -rw-rw---- 1 mysql mysql   32244 2010-07-06 03:05 #sql48aa_1_bd.MYD
复制代码
文档上说临时文件和对应的链接有关,我执行了 slave stop;slave start 后,对这些临时文件没有任何影响。
只有在重启 mysql 服务时,他们才会消失。


哪位朋友遇到过类似的情况, 烦请指点,谢谢  

论坛徽章:
0
2 [报告]
发表于 2010-07-06 14:31 |只看该作者
这些应该是temporary table的文件。mysql应该无法做到自动删除。

论坛徽章:
0
3 [报告]
发表于 2010-07-06 14:39 |只看该作者
这个问题我也遇到过,不过我是单台服务器,当时,大量类似文件把磁盘都塞暴了

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:50:39
4 [报告]
发表于 2010-07-06 14:40 |只看该作者
这些应该是temporary table的文件。mysql应该无法做到自动删除。
strong_sjhi 发表于 2010-07-06 14:31



    能否再详细些,文档中是这么说 temporary table 的:
  1. You can use the TEMPORARY keyword when creating a table. A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed.
复制代码
重启一下服务,这些文件就消失了。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
5 [报告]
发表于 2010-07-07 09:46 |只看该作者
本帖最后由 ruochen 于 2010-07-07 09:49 编辑

看tmpwatch,/var/tmp目录默认是一个月清理一次的
看调整这个os的参数能不能解决问题,但是自己要设计好调整的时间点和周期
我的os是:
  1. -bash-3.1# uname -a
  2. Linux dbtest.lfm-agile.com.hk 2.6.18-8.el5 #1 SMP Thu Mar 15 19:57:35 EDT 2007 i686 i686 i386 GNU/Linux
  3. -bash-3.1# cat /etc/redhat-release
  4. CentOS release 5 (Final)
复制代码
  1. -bash-3.1# more /etc/cron.daily/tmpwatch
  2. /usr/sbin/tmpwatch -x /tmp/.X11-unix -x /tmp/.XIM-unix -x /tmp/.font-unix \
  3.         -x /tmp/.ICE-unix -x /tmp/.Test-unix 240 /tmp
  4. /usr/sbin/tmpwatch 720 /var/tmp
  5. for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
  6.     if [ -d "$d" ]; then
  7.         /usr/sbin/tmpwatch -f 720 "$d"
  8.     fi
  9. done
复制代码

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:50:39
6 [报告]
发表于 2010-07-07 13:16 |只看该作者
谢谢版主 ! 我先把这些配置加上。

哪位朋友能从 MySQL 自身找出问题,这部分日志应该被MySQL自动清理掉

论坛徽章:
0
7 [报告]
发表于 2010-07-07 17:30 |只看该作者
这个就如同打开连接,你要在该关掉的地方关掉一样。创建了临时表,要在用完之后drop掉。

论坛徽章:
0
8 [报告]
发表于 2010-07-08 11:08 |只看该作者
这些东西我怎么没看见过啊

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
9 [报告]
发表于 2010-07-08 11:45 |只看该作者
确实是临时表,但是照例说连接断开时会自动清除啊。。。莫非是slave sql thread 产生的tmp表?

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:50:39
10 [报告]
发表于 2010-07-13 15:57 |只看该作者
顶起,这个问题很纠结了。

重新安装MySQL,调整了配置,重做 Replication 后,还是同样的问题。
影响了后续的操作,急躁中

补充: 重启MySQL虽然可以清理掉这些临时表,但数据会丢失。多次重启后发现已经丢了5%的数据


哪位大大再提些建议?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP