我在启用了SSL的CentOS服务器上运行MySLQ,并且它需要SSL才能连接到数据库。我使用OpenSSL创建了证书和密钥,并获取了以下文件:
为此设置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应用程序上运行,该Java应用程序通过将证书导入到keytores / trustores中来写入/读取数据库。
但是,我无法设置Power Bi Desktop版本来连接到MySQL服务器。我将证书导入了受信任的根证书颁发机构以及PKCS12密钥库和受托人(也由Java App使用)。 This image shows the certificate。它是西班牙语,但它说它也具有密钥,并且已由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无法正常工作的原因,因为我不知道如何正确提供证书并且找不到任何内容描述该过程。