我们有一位用户(用户 A)启动 mysql 客户端,需要几秒钟才能加载,用户觉得这是突然启动的,之前没有这样做过。这导致一些脚本超时,有人担心这是数据库本身的问题。经调查发现,“用户 B”可以在眨眼间在同一台服务器上启动 mysql 客户端。
答案1
鉴于上述情况,我们认为排除了数据库本身的问题。我们确实验证了每个用户是否使用相同的 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
因此,如果我们看一下“用户 A”的历史文件,它是一个 160M 的文件:
-bash-4.3$ ls -lh ~/.mysql_history
-rw------- 1 userA staff 160M Jul 6 14:48 /home/userA/.mysql_history
而“用户 B”的文件要小得多:
-bash-4.3 ls -lh ~/.mysql_history
-rw------- 1 userB staff 53K Jul 6 14:42 /home/userB/.mysql_history
这可能是一件简单的事情,其他人一开始就知道,但我们想在这里记录下来,因为我们的 Google-Fu 没有发现其他人处理过这种类型的问题。