基于SSL实现MySQL的加密主从复制

大家都知道mysql主从复制是明文传输的,这对一些特殊业务来说是不允许的,下面来尝试构建基于ssl的主从复制环境:RHEL5.8SELinux关闭,iptables关闭,MySQL5.5.

大家都知道mysql的主从复制是明文传输的,这对一些特殊业务来说是不允许的,下面来尝试构建基于ssl的主从复制

环境:RHEL5.8 SELinux关闭,美国服务器,iptables关闭,MySQL 5.5.28-i686 tar包初始化安装(非编译)

规划:

master: 172.16.1.18  master.laoguang.me slave:  172.16.1.19  slave.laoguang.me 

准备工作:hostname与规划一致,配置/etc/hosts做好解析,时间要同步,香港虚拟主机,过程不再赘述,见,mysql安装见,数据目录为/data/mydata

一.在master上配置CA服务器,并为master,slave颁发证书

1.1 master建立CA服务器,过程见

1.2 master的MySQL证书申请

1.3 slave上申请证书

1.4 master上为slave签发

1.5 slave上更改权限与属主

chown mysql:mysql mysql.* chmod 600 mysql.* 

二.Master上编缉/etc/my.cnf启用ssl,并设置主从

2.1 修改/etc/my.cnf

2.2 启动mysql,并查看ssl信息

2.3 为同步建立一最小权限账户,并要求ssl

三.Slave上编缉/etc/my.cnf,启用ssl,并设置主从

3.1 编缉/etc/my.cnf

3.2 启用mysqld并查看ssl相关信息

3.3 启动slave同步进程,连接主服务器

关注以下参数:

如果与上图累似,slave基本正常,下面测试

四.测试

4.1 主服务器上建立一数据库

4.2 从服务器上查看有没有同步过去

如果同步成功,说明没有错误

4.3 从服务器mysql基于ssl连接主服务器,查看连接状态是否加密

–ssl-key=/data/mydata/ssl/mysql.key 

查看连接状态

由此可知连接是加密的,可以用tcpdump抓包测试

到此基于SSL的mysql主从同步构建完毕,如果你的从服务器是新加的,先将主服务器最近一次的完整备份恢复到从服务器,并从同步完整备份后的二进制日志,即change master时添加master_log_op=n, n代表完整备份后的二进制位置,其它的基本一致。

 

后记:今天尝试只给slave签发证书,master拥有有CA的证书,虚拟主机,理论上应该能成功的,不过就是连接不上,所以暂时放弃,然后尝试master的证书名字为master.crt,slave的证书为slave.crt结果也连不上,后来google,把master与slave的证书,私钥都叫mysql.crt,mysql.key才得以完成,有了解的人说明一下,单证书为何不行,两个证书名称不一致也不行在原因,感谢!

 

本文出自 “Free Linux,Share Linux” 博客,请务必保留此出处

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1858582.html

(0)
上一篇 2025年2月22日 04:54:02
下一篇 2025年2月22日 04:54:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论