【发布时间】:2019-05-21 10:19:41
【问题描述】:
我对 java BasicDataSource 连接池有疑问。
我的 ProxySql 已在我的所有 DataProc 计算引擎上正确配置,如果我尝试使用 sqlclient 连接到我的 CloudSql 实例,它可以正常工作。 当我尝试从我的连接池连接到我的 CloudSql 时,使用此连接字符串配置:pooljdbc:mysql://127.0.0.1/my_db?serverTimezone=UTC,我收到此错误:
Cannot create PoolableConnectionFactory (Access denied for user 'myuser'@'localhost' (using password: YES))
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'myuser'@'localhost' (using password: YES))
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
而且是正确的,因为 proxySQL tcp 连接在 127.0.0.1 上,而不是在 localhost(unix 套接字)上。
我不明白为什么 BasicDataSource 尝试连接 localhost 而不是 127.0.0.1,因为我在连接字符串中配置了。
非常感谢任何帮助。
【问题讨论】:
标签: google-cloud-platform connection-pooling sqldatasource google-cloud-dataproc cloud-sql-proxy