首页 > 代码库 > MySql之基于ssl安全连接的主从复制

MySql之基于ssl安全连接的主从复制

MySql基于ssl安全连接的主从复制

一、设备环境

centos7.2   两台

MySQL 5.7

MySQL 5.7 主要特性:

原生支持Systemd
更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化
更好的InnoDB存储引擎
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。

新增sys库:以后这会是DBA访问最频繁的库
更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题原生JSON类型的支持(JavaScript Object Notation)

注:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括CC++C#JavaJavaScriptPerlPython等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)

JSON 语法是 JavaScript 对象表示语法的子集。

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

二、实现基于ssl安全连接的主从复制

1)在主mysql创建SSL/RSA文件

技术分享

技术分享

server-key.pem权限

技术分享

登录mysql,执行mysql>show variables like%ssl%‘;

技术分享

在主mysql上的操作完成,再生成一个复制帐号:REQUIRE SSL

技术分享

在主mysql上启用二进制日志并重启mysql服务

技术分享

技术分享

查看主mysql的状态

技术分享

注:要记住上图所显示的fileposition的值,配置从服务器要用到

防火墙允许3306/tcp通信

技术分享

2)接着就去从上配置

mysql/etc/my.cnf文件内容

技术分享

把主mysql生成的证书给了从服务器

技术分享

查看从mysql复制过来的证书

技术分享

继续在从上配置SSL:修改/etc/my.cnf文件,添加如下内容

技术分享

重启mysqld服务

技术分享

查看SSL是否被支持:

技术分享

在配置主从复制之前可以在从mysql上用SSL连接主服务器试试:

技术分享

SSL测试连接成功,并且登入的SSL协议是: Cipher in use is DHE-RSA-AES256-SHA

最后开始配置主从replicate 登录从mysql

 

在从上change master to

技术分享

测试:

技术分享

从服务器上

技术分享

技术分享

以上同步成功。

总结:

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer SecurityTLS)是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过SSL加密可以大大提高数据的安全性。

本文出自 “duyuheng” 博客,请务必保留此出处http://duyuheng.blog.51cto.com/12879147/1941089

MySql之基于ssl安全连接的主从复制