从shell脚本执行时关闭mysql连接

时间:2018-02-20 08:16:33

标签: mysql bash shell database-performance

使用shell脚本运行mysql插入查询,在运行查询时,我看到连接没有从shell脚本中关闭。

  

运行shell脚本后的服务器响应

$ date
Tue Feb 20 15:43:58
$ netstat -alnp | grep 3306 | wc -l
26 
  

如果超过26个计数

tcp6       0      0 192.168.10.169:31503      192.168.10.170:3306 ESTABLISHED 11603/java
$ netstat -alnp | grep 3306 | wc -l
50

超过50个计数的地方(TIME_WAIT - 22)和(ESTABLISHED - 28)

tcp6       0      0 192.168.10.169:48308      192.168.10.170:3306 ESTABLISHED 12603/java   
tcp6       0      0 192.168.10.169:48990      192.168.10.170:3306 TIME_WAIT
$ date
Tue Feb 20 15:46:49
  1. 通过shell脚本运行的mysql连接是否自动关闭
  2. 如果带有mysql insert命令的shell脚本每30分钟通过cron作业运行会产生什么影响
  3. 脚本

    #!bin/bash
    query="insert into table_name values ('foo', 'bar' , 123, NOW() )where column_name is NOT NUll"
    
    mysql -u username -p password mysql  <<EOF
    $query;
    EOF
    

    对mysql最大连接有什么影响,在运行到我的系统时,我有超过100个连接 ESTABLISHED

1 个答案:

答案 0 :(得分:0)

STATUS值对应connections ESTABLISHED

的价值是多少?
`SHOW GLOBAL STATUS LIKE 'Max_used_connections';

我期待一个像1或2这样的小数字。

有关

`SHOW GLOBAL STATUS LIKE 'Connections';

我期待超过100个。

命令行工具mysql将创建一个连接(碰撞Connections并可能增加Max_used_connections的“高水位线”),执行操作,然后关闭连接(不降低)任何STATUS)。 Threads_running也会递增和递减。

你的cron工作不应该威胁任何限制。