问题描述
App Service上部署的Java应用,连接 Azure Database for MySQL 失败。错误信息:Create connection error, url: jdbc:mysql://....................... communications link failure.
问题解答
应用的错误信息提示为:与MySQL数据库建立连接失败。
所以需要考虑如下几种情况:
1) App Service与MySQL数据库之间的网络连通性
2) MySQL的防火墙是否允许了App Service的IP地址访问
3) 是否启用了SSL设置,因为MySQL SSL连接,需要下载证书(https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem)并在Java代码中显式使用
对于第一种情况,可以在App Service的Kudu页面上,使用 tcpping 3306 端口来验证:
tcpping <your service name>.mysql.database.chinacloudapi.cn:3306
对于第二种情况,在App Service的属性页面中获取到出口IP地址,然后配置在MySQL的防火墙页面即可。
对于第三种情况,参考MySQL的文档,下载证书,修改代码,参考文档:https://docs.azure.cn/zh-cn/mysql/single-server/how-to-configure-ssl