我已经搜索和测试了几个小时,但仍然找不出答案。MySQL版本5.7.23在从和主。
以下错误消息导致SSL上的复制失败:
通道的从I/O :连接到主replslave1@stuff.stuff.com:3306的错误-重试时间: 60重试: 1,Error_code: 2026
没有SSL,复制工作正常,所以我知道复制用户和密码是正确的,端口3306没有被阻塞。我可以使用相同的用户和密码组合从命令行连接SSL:
mysql -u replslave1 -pxxxx -h stuff.stuff.com --ssl --ssl-ca='/etc/mysql/master-ca.pem' --ssl-capath='/etc/mysql' --ssl-cert='/etc/mysql/repl1-pub.pem' --ssl-key='/etc/mysql/repl1-priv.pem' --ssl-cipher='DHE-RSA-AES256-SHA'当我从命令行执行此操作时,密码显示为DHE-RSA-AES256-SHA。
任何想法都欢迎。
发布于 2018-08-28 19:21:10
最后,工作6-8小时后:
在我的例子中,问题是从服务器有两个网络接口,并将可用/公共IP地址分配给第二个接口。第一个,我假设MySQL/OpenSSL是默认使用的,它没有IP地址。
我通过在我的MASTER_BIND语句中添加CHANGE_MASTER来解决问题。
发布于 2018-08-31 09:40:19
我感觉到您的痛苦:-)我遇到了完全相同的问题:手动的MySQL SSL连接可以工作,但是SSL复制无法与2026年连接。
不过,我最终得到了一个不同的解决方案。我复制到客户端的默认生成密钥(在MySQL安装期间)没有足够的读取权限。这成了我的解决方案:
chmod a+r客户端-key.pem
发布于 2018-09-13 13:30:01
我还发现了导致这一2026年错误的另一个原因:在MASTER_SSL_CAPATH定义的目录(在“显示从状态”输出中,这显示为Master_SSL_CA_Path)中,我生成了一个新的SSL请求/public_ key / private _key集(用于一个新的客户端),它由不同的用户拥有,私钥由mysql无法读取。一旦我将这些文件的所有权更改为mysql:mysql复制就会立即启动。
https://dba.stackexchange.com/questions/216001
复制相似问题