报错
java.sql.SQLNonTransientConnectionException: Too many connections
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.copote.data.manager.dao.config.DBMySqlConfig.getConn(DBMySqlConfig.java:25)
at com.copote.data.manager.metabase.service.thread.AsynTaskFature.rgstBaseTemp(AsynTaskFature.java:52)
at com.copote.data.manager.metabase.service.thread.AsynTaskFature.access$0(AsynTaskFature.java:44)
at com.copote.data.manager.metabase.service.thread.AsynTaskFature$1.call(AsynTaskFature.java:36)
at com.copote.data.manager.metabase.service.thread.AsynTaskFature$1.call(AsynTaskFature.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
查看最大连接数
mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| max_connections | 100 |
| mysqlx_max_connections | 100 |
+------------------------+-------+
2 rows in set (0.00 sec)
修改最大连接数(root用户)
set GLOBAL max_connections=1000;
mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| max_connections | 1000 |
| mysqlx_max_connections | 100 |
+------------------------+-------+
2 rows in set (0.00 sec)
扩展
MySQL X 是MySQL 5.7发布时自带的一个插件,启用后,即可通过 X Protocol 协议提供一个非常类似MongoDB的服务。
在Unix/Linux环境下,加载插件的命令:
INSTALL PLUGIN mysqlx SONAME 'mysqlx.so';