MySQL / MariaDB 客户端启动/加载用户 A 的速度很慢,但用户 B 的启动/加载速度慢

Woo*_*143 9 mysql mariadb

我们有一个用户(用户 A)启动 mysql 客户端,加载需要几秒钟,用户觉得这只是突然开始,以前没有这样做过。它导致一些脚本超时,并且有人担心这是数据库本身的问题。经调查发现,“用户B”眨眼之间就可以在同一台服务器上启动mysql客户端。

Woo*_*143 21

鉴于上述情况,我们认为排除了数据库本身的问题。我们确实验证了每个用户都使用相同的 mysql 客户端并且具有类似的 ENV/PATH 设置。

经过一些思考,我们让“用户 A”以详细模式启动客户端,这给了我们答案。

-bash-4.3$  mysql --verbose -u userA -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10410
Server version: 5.0.45 MySQL Community Server (GPL)

Reading history-file /home/userA/.mysql_history <----------------- HERE IS THE ISSUE
Run Code Online (Sandbox Code Playgroud)

所以如果我们看一下“用户 A”的这个历史文件,它是一个 160M 的文件:

-bash-4.3$ ls -lh ~/.mysql_history
-rw------- 1 userA staff 160M Jul  6 14:48 /home/userA/.mysql_history
Run Code Online (Sandbox Code Playgroud)

“用户 B”的文件要小得多:

-bash-4.3 ls -lh ~/.mysql_history
-rw------- 1 userB staff 53K Jul  6 14:42 /home/userB/.mysql_history
Run Code Online (Sandbox Code Playgroud)

这可能是其他人一开始就知道的简单事情,但我们想在这里记录它,因为我们的 Google-Fu 没有透露任何其他人处理此类问题。

  • 许多 Linux shell 具有默认的“最大历史文件大小”设置是有原因的... (4认同)