首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL为什么lsof会看到这么多临时文件

    版本:5.7.29 一、问题提出 一般情况下我们会使用lsof命令来查看MySQL当前使用的临时文件的使用,这是因为这些临时文件使用ls命令并不能显示,在5.7中其建立方式是使用Liunx api mkstemp...5个临时文件,如果我们的MySQL有很多session,那么线程会很多很多,那么lsof看到的临时文件数量就是线程数据量*5。...因此我们在检查临时文件使用空间情况的时候不要被过多的输出而吓到,我们只要输出MySQLD进程的临时文件即可,输出如下: [root@mgr2 proc]# lsof|grep delete|grep mysql...mysql 19u REG 8,5 0 23137686 /tmp/ibfb7rps (deleted) 注意MySQL8.0.21下这些临时文件的名字有一些变化...ib打头(模拟MySQL临时文件),然后建立了5个线程,每个线程再各自建立一个临时文件,写点东西进去,然后线程睡眠一会,主线程会等待线程回收资源,因此可以有足够的时间观察到。

    1.8K21

    还不会MySQL临时表应用?可能错过大厂offer

    临时表只在当前连接可见,当关闭连接时,MySQL会自动删除表并释放所有空间。 临时表在MySQL 3.23版本添加。...如果你使用Java的MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然也可手动销毁。 实例 建表 ? 插入数据 ? 查询 ?...若退出当前MySQL会话,再使用 SELECT命令来读取原先创建的临时表数据,那你会发现数据库中没有该表的存在,因为在你退出时该临时表已经被销毁了。...删除MySQL 临时表 默认情况下,当断开与数据库的连接后,临时表就会自动被销毁。当然也可以在当前MySQL会话使用 DROP TABLE 命令来手动删除临时表。

    29720

    记录一次mysql临时目录过大导致服务中断 原

    首先是来自服务器的硬盘告警,DBA上去转了一圈,说是系统根目录有一个mysql的临时目录/tmp,这个目录存在mysqld已经删除但是没有释放资源的文件,他没有办法恢复,从log中找不到任何蛛丝马迹,...下找到了对应的内存中剩余了一个文件句柄做的硬链接, ll  /proc//fd|grep  MLfcmlkt  然后直接cp  xxx   /data/tmpfile 这样操作吧进程要删除的临时文件整回来了...,业务立即就明白了,再到Binlog里搜索了一下对应表的操作,原来是这个表超级大,业务要定时清理里面的内容,一条delete语句,一下删除的数据就有17GB,  且应用使用的连接池,会话不释放,删除的临时文件句柄就一直保留

    66330
    领券