在Azure创建了一个Mysql5.7服务,因为默认使用ssl连接,需要下载Azure的证书,并使用openssl生成客户端的证书。具体流程参考官方文档
大致步骤:
- 下载根证书,
- 安装openssl,
- 使用openssl命令行转换为pem格式文件(比如windows下,运行openssl.exe ,会出现交互式窗口,再运行命令)
- 使用客户端指定pem,连接数据库
这里有个问题点,Azure官方文档说明的是DigiCertGlobalRootCA.cer,cer格式。但下载的文件却是crt格式的,
因此使用openssl命令转换时,需要修改下 .cer -> .crt 不然就会提示文件不存在了,No such file or directory
x509 -inform DEV -in DigiCertGlobalRootCA.crt -out DigiCertGlobalRootCA.pem
我在本地开发机上使用了 MySQL Workbench 和 Navicat 两种客户端
其中MySQL Workbench参考官方的说明没有问题,直接可以连接上
但使用Navicat 连接时,连接时报错 2026 SSL connection error: ASN: bad other signature confirmation
SSL连接错误:ASN:错误签名
在网上找了一通,在论坛中发现一个办法,替换 libmysql.dll,论坛地址
把MySQL Workbench中的libmysql.dll替换到Navicat中 这里上传了一个版本供下载
重新连接
备注:Navicat软件版本 11.2.7