报错:
create connection SQLException, url: jdbc:mysql://xx.xxx.x.xx:6306/hksk-cloud-mes?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, errorCode 1040, state 08004
原因:
该问题产生的原因是数据库本身的连接数都被占用,造成微服务无连接可用,但是为啥会出现这种情况呢?!(PS:第一次遇到这类问题)自己查一下数据库目前的运行状态,发现数据库有近152个连接正在被使用(最大限制是151),继续追查这些连接都是谁在用。最后,终于找到了源头,是由于同事在用这个数据库跑自己本地环境,最终造成数据连接都被占用,导致我启动不了。
提供一种解决方式:(我用的是MySQL命令,还有其他的修改方式,自行百度)
MySQL:
1.登录到 MySQL:首先,使用 MySQL 的客户端工具(如命令行或 MySQL Workbench)以管理员或具有足够权限的用户身份登录到 MySQL 服务器。
2.查看当前的最大连接数:你可以执行以下命令来查看当前的最大连接数限制:
SHOW VARIABLES LIKE 'max_connections';
这将显示当前的最大连接数设置。
3.修改最大连接数:要修改最大连接数,你可以执行以下 SQL 命令,将新的最大连接数设置为你所需的值(假设你想将最大连接数设置为300):
SET GLOBAL max_connections = 300;
请注意,上述命令会修改全局的最大连接数限制。如果你希望只修改当前会话的连接数限制,可以使用以下命令:
SET SESSION max_connections = 300;
这将只影响当前会话,不会全局更改最大连接数。
4.验证更改:为了确保更改已成功应用,你可以再次运行以下命令来检查新的最大连接数:
SHOW VARIABLES LIKE 'max_connections';
确保它显示你刚刚设置的新值。
5.重新启动 MySQL:有时,你可能需要重新启动 MySQL 服务器,以确保更改生效。这可以通过执行以下命令来完成:
FLUSH PRIVILEGES;
之后,你可以重新启动 MySQL 服务器,使更改生效。
请注意,修改最大连接数是一个敏感操作,应该慎重考虑,特别是在生产环境中。确保设置一个合适的连接数限制,以避免资源耗尽或性能问题。此外,确保你有足够的权限来执行这些更改。