方法一,将连接池中的超时时间设置的短于这个值(本项目用的spring boot data jpa,默认连接,设置后不起作用);
方法二,把mysql的这个值设大一些:在[mysqld]下加wait_timeout = 86400。此时是设置的全局设定,可通过命令 show global variables like “%timeout%”;看到变化,而show variables like “%timeout%”;和show session variables like “%timeout%”;仍为原值。
mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 4 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 10000 |
+-----------------+-------+
1 row in set (0.01 sec)
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.7.14, for linux-glibc2.5 (x86_64) using EditLine wrapper
Connection id: 17318
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.14-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 20 hours 2 min 14 sec
Threads: 5 Questions: 118037 Slow queries: 0 Opens: 1743 Flush tables: 1 Open tables: 916 Queries per second avg: 1.636
--------------