导读:本期聚焦于小伙伴创作的《如何修复MySQL 5.7主从复制中的1593报错并正确配置同步SSL证书》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何修复MySQL 5.7主从复制中的1593报错并正确配置同步SSL证书》有用,将其分享出去将是对创作者最好的鼓励。

MySQL 5.7的主从复制架构中,当开启SSL加密传输时,若主从节点的SSL证书配置存在不一致的情况,就会触发1593报错,导致从库的IO线程无法正常连接主库,同步进程中断。这个问题需要从证书文件本身和MySQL配置两个维度进行排查修复。

如何修复MySQL 5.7主从复制中的1593报错并正确配置同步SSL证书

1593报错的原因分析

MySQL 5.7主从复制的1593报错全称为ER_SLAVE_FATAL_ERROR,在开启SSL的场景下,常见触发原因有以下几种:

  • 主从节点使用的SSL证书不是同一套,比如主库用了A证书,从库用了B证书
  • 从库配置的证书路径和实际存放证书的路径不匹配
  • SSL证书已经过期,或者证书的颁发对象、域名和当前节点不匹配
  • 主库开启了SSL强制验证,但从库的SSL相关配置参数没有正确设置

排查1593报错的具体步骤

1. 查看从库复制状态

首先登录从库MySQL,执行以下命令查看复制报错详情:

SHOW SLAVE STATUSG

在输出结果中找到Last_IO_Error字段,确认报错信息是否包含SSL相关的提示,比如证书验证失败、找不到证书文件等内容。

2. 检查主从SSL配置参数

分别登录主库和从库,执行以下命令查看SSL相关配置:

SHOW VARIABLES LIKE '%ssl%';

需要重点对比的参数包括ssl_cassl_certssl_key,确认两个节点的这三个参数指向的证书文件是否同源。

3. 验证证书文件一致性

到服务器上查看主从节点的证书文件,对比文件的MD5值是否一致:

# 主库执行
md5sum /path/to/ca.pem /path/to/server-cert.pem /path/to/server-key.pem
# 从库执行
md5sum /path/to/ca.pem /path/to/server-cert.pem /path/to/server-key.pem

如果MD5值不一致,说明证书文件不同步,需要重新同步证书。

同步SSL证书并修复配置的步骤

1. 生成或获取统一的SSL证书

如果还没有统一的SSL证书,可以在主库节点生成一套CA证书和服务器证书:

# 生成CA私钥
openssl genrsa 2048 > ca-key.pem
# 生成CA证书
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem -subj "/CN=MySQL_CA"
# 生成服务器私钥
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -out server-req.pem -subj "/CN=MySQL_Server"
# 用CA证书签名服务器证书
openssl x509 -req -in server-req.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

2. 同步证书到从库节点

将主库生成的ca.pemserver-cert.pemserver-key.pem三个文件拷贝到从库的指定目录,比如/etc/mysql/ssl/,并修改文件权限避免权限过高导致MySQL无法读取:

chmod 644 /etc/mysql/ssl/ca.pem /etc/mysql/ssl/server-cert.pem
chmod 600 /etc/mysql/ssl/server-key.pem
chown mysql:mysql /etc/mysql/ssl/*

3. 修改从库MySQL配置

编辑从库的MySQL配置文件my.cnf,添加或修改SSL相关配置:

[mysqld]
ssl_ca=/etc/mysql/ssl/ca.pem
ssl_cert=/etc/mysql/ssl/server-cert.pem
ssl_key=/etc/mysql/ssl/server-key.pem

修改完成后重启从库的MySQL服务使配置生效。

4. 重新配置从库复制连接

登录从库MySQL,先停止复制进程,然后重新配置主库连接信息,指定使用SSL加密:

STOP SLAVE;
CHANGE MASTER TO
MASTER_HOST='主库IP',
MASTER_USER='复制账号',
MASTER_PASSWORD='复制账号密码',
MASTER_LOG_FILE='主库当前binlog文件',
MASTER_LOG_POS=主库当前binlog位置,
MASTER_SSL=1,
MASTER_SSL_CA='/etc/mysql/ssl/ca.pem',
MASTER_SSL_CERT='/etc/mysql/ssl/server-cert.pem',
MASTER_SSL_KEY='/etc/mysql/ssl/server-key.pem';
START SLAVE;

验证修复结果

重新启动从库复制后,再次执行SHOW SLAVE STATUSG命令,查看Slave_IO_RunningSlave_SQL_Running两个字段是否都为Yes,同时Last_IO_Error字段为空,说明1593报错已经修复,主从复制恢复正常运行。

也可以在主库执行写入操作,观察从库是否能正常同步数据,进一步确认SSL加密传输和复制功能都正常。

MySQL_5.7主从复制1593报错SSL证书配置修改时间:2026-06-21 02:15:32

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。