我们有一个客户端应用程序,通过 ODBC 连接器(服务器是托管*专用网络服务器)连接到我们的在线 MySQL 数据库 (5.1.44-community-log)。这效果非常好。但是我无法使用 SSL 让它工作。这是我到目前为止所做的:
1.MySQL服务器
我已经让服务器管理器*使用 SSL 设置了 MySQL,这是“证明的”:
mysql> SHOW VARIABLES LIKE '%ssl%';
结果是这样的响应:
+---------------+---------------------------------+
| Variable_name | Value |
+---------------+---------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /***/mysql-cert/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /***/mysql-cert/server-cert.pem |
| ssl_cipher | |
| ssl_key | /***/mysql-cert/server-key.pem |
+---------------+---------------------------------+
问题:服务器配置是否正确?我猜这是...
2. 证书
我已经购买了真正的证书(通过我的服务器管理器)。这些位于上面显示的目录中。我还从该目录下载了 client-cert.pem、client-key.pem 和 ca-cert.pem。
3. MySQL 用户 REQUIRE [SSL|X509]
我创建了一个新用户,然后使用 SSL 从任何位置授予其访问权限(用于测试):
GRANT USAGE ON *.* TO 'somevaliduser'@'%' IDENTIFIED BY PASSWORD 'somevalidpass' REQUIRE X509
4.ODBC客户端
我(刚刚下载并)安装了:mysql-connector-odbc-5.1.8-winx64.msi http://dev.mysql.com/downloads/connector/odbc/(64位)因为我的机器是64位的Windows 7的机器(所以这不是问题所在)。
我创建了一个用户 DSN,像这样配置它(选项卡上没有设置选项),这表明它成功连接到服务器(但不使用 - 也不请求这样做 - SSL)(使用一些有效的用户,但不这样做)需要 SSL):
这样连接就可以建立了,现在尝试使用 SSL。
这是这样配置的,就像我在 MySQL.com 上读到的那样。所以我不能 100% 确定设置的选项是正确的。
正如你所看到的,它会导致错误HY000。打开跟踪(在 ODBC 配置内)也会显示此错误。
谁能给我一个关于如何进行这项工作的提示?即使您只知道解决方案的一部分?