我在启用了 SSL 的 CentOS 服务器上运行了一个 MySLQ,它需要 SSL 才能连接到数据库。我使用 OpenSSL 创建了证书和密钥,得到了这些文件:
- 卡佩姆
- ca-key.pem
- 客户证书pem
- 客户端密钥 pem
- 服务器-cert.pem
- 服务器-key.pem
用这个设置 MySQL:
ssl-ca=/etc/certs/ca.pem
ssl-cert=/etc/certs/server-cert.pem
ssl-key=/etc/certs/server-key.pem
bind-address=*
require_secure_transport=ON
我使用以下方法在 MySLQ 上创建了一个需要 X509 的用户:
CREATE USER 'user'@'%' IDENTIFIED BY '<password>' REQUIRE X509;
使用 MySQL 客户端控制台和提供客户端证书的 MySQL Workbench 进行测试,它工作正常。也适用于通过将证书导入密钥库/信任库来写入/读取数据库的 Java 应用程序。
但是,我无法设置 Power Bi Desktop 版本以连接到 MySQL 服务器。我将证书导入到 Trusted Root Autenticathion Authorities 和 PKCS12 密钥库和信任库(Java 应用程序也使用)。此图像显示证书。它是西班牙语的,但它说它也有密钥,并且由 ca.pem 验证。
这是根据文档,但是有关此的文档非常古老且非常有限。某些流程和/或工具已过时。
https://github.com/Microsoft/PowerBI-visuals/blob/master/tools/CertificateAddWindows.md
https://powerbi.microsoft.com/es-es/blog/ssl-security-error-with-data-source/
但是,没有更多关于如何正确连接的信息(或者我找不到它)。
我在 Power Bi 上收到的消息是“我们无法使用提供的凭据对您进行身份验证。再试一次。”
我必须补充一点,禁用 SSL 允许我使用 Power Bi 连接到数据库,没有任何问题,这是 SSL 不起作用,因为我不知道如何正确提供证书,而且我找不到任何描述过程。