mysql打开别人的文件_Mysql打开文件引起的一个奇怪问题

今天遇到一个奇怪的问题,后来发现和mysql打开文件有关。

遇到的奇怪问题

我在159机器上安装了mysql,在159机器上连接mysql执行sql的速度是0.9s左右。

但是我从186机器上连接159机器上的mysql执行,时间为5s多。 很是奇怪.(每次测试前我都是重启数据库、清理linux缓存)

如果是第二次查询,不管存本地159机器还是非本地的186机器,都是0.3s返回结果。

数据库版本是5.5.41-tokudb-7.5.5。

下面是非本地186机器上第一次的查询(查询前重启数据库,清理操作系统缓存):

0818b9ca8b590ca3270a3433284dd417.png

下面是本地159机器的第一次查询(查询前重启数据库,清理操作系统缓存):

0818b9ca8b590ca3270a3433284dd417.png

找到原因

实验一

1、先重启159机器上的mysql,并查看mysql打开文件数(目前为72个)

0818b9ca8b590ca3270a3433284dd417.png

2、在189机器上连接159mysql并执行表上查询(这里话费了4.39s)

0818b9ca8b590ca3270a3433284dd417.png

3、查看159机器上mysql的打开文件数

0818b9ca8b590ca3270a3433284dd417.png

4、再次执行上面的需要5s多的SQL

0818b9ca8b590ca3270a3433284dd417.png

说明:从上面的实验看出,时间主要消耗在打开文件上。

那本地连接后,为啥查询只需要0.9s呢?  继续实验看看

实验二

1、重启159机器 mysql,查看mysql打开文件数

0818b9ca8b590ca3270a3433284dd417.png

2、本地连接mysql(本地第一次连接mysql时比较慢)

0818b9ca8b590ca3270a3433284dd417.png

3、查看159机器mysql打开文件数

0818b9ca8b590ca3270a3433284dd417.png

说明:从这个实验可以看出,mysql在本地连接时直接打开了文件。

我自己还做了实验,是这样的,如果你本地直接连接mysql的某个db,他就打开那个db下的所有文件,其他db下的文件不会打开。

实验三

1、重启159机器mysql,并查看mysql打开文件数

0818b9ca8b590ca3270a3433284dd417.png

2、从186机器上,连接159机器上的mysql下的pvd1库

0818b9ca8b590ca3270a3433284dd417.png

3、查看159机器上的mysql打开的文件数

0818b9ca8b590ca3270a3433284dd417.png

说明:这个pvd1下相关的文件数有几百个,这个只多了一个。可以说明远程连接时没有去打开连接db下的所有文件。

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

王润莲

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值