MySQL 连接错误
Communications link failure、Access denied、Too many connections:常见数据库错误解析以及该检查什么。
更新于 2026年8月13日
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
java.sql.SQLException: Access denied for user
java.sql.SQLException: Too many connections
诊断
| 错误 | 原因 |
|---|---|
Communications link failure | 数据库不可用:主机或端口错误、数据库已关闭、网络问题 |
Access denied | 登录名或密码错误,或该地址的访问被拒绝 |
Unknown database | 数据库名称错误 |
Too many connections | 连接数达到上限:插件使用的连接池过大 |
Table doesn't exist | 插件未创建其数据表:请检查数据库用户的权限 |
需要检查的内容
- 控制面板中的凭据已完整复制——MySQL 数据库。
- 您是否正在从自己的另一台服务器连接?那么您需要满足两个条件:勾选“为我的服务器共享数据库”复选框,并使用“从您的其他服务器连接”区块中的端口——另一台机器通过不同的端口访问数据库。
Access denied for user ... @'172.18.0.1'几乎总是由此引起。 - 端口与主机分开单独指定。
- 密码末尾没有多余空格。
- 插件在数据库可用之后才启动:数据库不可用会拖慢启动过程——服务器启动时间过长。
连接数过多
每个插件都会维护一个连接池。五个插件各 10 个连接,就已经是 50 个了。请在配置中减小连接池大小:
pool-settings:
maximum-pool-size: 5
minimum-idle: 2
对于每分钟才访问一次数据库的插件来说,十个连接的连接池毫无意义——插件的 MySQL。
Minecraft 托管您离线时服务器仍在运行创建服务器
