无法使用 SSL 连接到 MySQL 5.5

无法使用 SSL 连接到 MySQL 5.5

我正在尝试为两台全新的 RHEL 6.6 x64 服务器设置 MySQL SSL 复制。我可以在不使用 SSL 的情况下进行复制,但无法使用 SSL 进行设置,也无法直接使用 SSL 进行连接。我尝试使用mysql -h xxxx -u root -p --ssl=1 --ssl-ca=ca.pem --ssl-cert=客户端-cert.pem --ssl-key=客户端-key.pem,以及本地(Windows + MySQL Workbench),无论如何,我得到:

ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

由于 RHEL 自带 MySQL 5.1,我将主服务器和从服务器都升级到了 5.5。https://webtatic.com/packages/mysql55/mysql --version两者现在都显示“Ver 14.14 Distrib 5.5.43,适用于 Linux (x86_64) 使用 readline 5.1”

然后我尝试根据以下教程设置带有自签名证书和复制的 SSLhttps://www.howtoforge.com/how-to-set-up-mysql-database-replication-with-ssl-encryption-on-centos-5.4

我确保对这三个证书使用不同的通用名称,并且openssl 验证确认针对 ca.pem 进行测试时,client-cert.pem 和 server-cert.pem 均为“OK”。

但无论我怎么尝试,我仍然会收到上述 SSL 连接错误。主服务器的错误日志中没有错误,我看不到任何其他会导致失败的原因。任何帮助都将不胜感激!

谢谢。

答案1

确保 CA 证书和服务器证书的通用名称不同

如果您的证书是使用openssl1.0 以上的版本生成的,并且是 RSA,请使用以下命令重新格式化您的密钥openssl rsa -in key-from-openssl-1.pem -out pkcs1-yassl-compatible-key.pem:(根据需要替换文件名)。原因是密钥格式与 不兼容yaSSL,而 MySQL 使用的是 SSL。或者,使用编辑器打开 pem 文件,然后将其替换BEGIN PRIVATE KEYBEGIN RSA PRIVATE KEY

相关内容