基于SSL实现Mysql加密的主从复制配置
2017-10-18 07:54
1171 查看
由于mysql的主从复制是明文传送的,但如果在生产环境中跨网络我们使用的主从还是明文传送的话,就保证不了数据的安全性,为了解决这一问题,我们需要加密进行传送,也就是基于SSL的加密方法进行传输数据
实验环境:Master---Centos7.2 ---Mysql5.7
Slave---Centos7.2---Mysql5.7
首先需要安装mysql5.7这里不做演示,大家可以参考我的这篇文章:http://blog.csdn.net/qq_39591494/article/details/78255286
一、基于SSL实现Mysql加密的主从复制配置
1)在mysql主上创建SSL/RSA文件
cd /usr/local/mysql/bin ---切换目录
mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---创建新的 SSL 文件
创建完成后我们进入/usr/local/mysql/data中查看,我们可以看到有pem后缀名这样的文件
2)产生了pem后缀文件时,我们重启mysql服务,查看mysql的错误日志
以上错误中提示不能获取私钥,这时候我们查看错误中的server-key.pem
我们发现server-key.pem这个文件没有r权限这时候我们给予权限再次重启mysql服务
这时候我们重启了mysql服务,错误日志中就没有错误了
3)登陆mysql查看mysql是否支持ssl安全连接
4)在主 mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL
在主上启用二进制日志,添加以下两行
注意:以上的server-id是唯一的,主和从的server-id都是不一样的
5)重启mysql服务查看mysql主的状态,开放3306端口
要记住上图所显示的 file 和 position 的值,配置从服务器要用到
二、配置mysql从服务器
1)在从mysql的/etc/my.cnf文件内容
注:server_id要唯一,不能和主mysql的重复
2)把主mysql生成的证书给了从服务器
3)在从上面查看主传来的证书,并且给予client-key.pem权限
随后继续在从上面配置ssl,修改/etc/my.cnf文件
然后重启mysql服务,并查看mysql错误日志是否有错误信息
以上确定没报错后,查看 从SSL 是否被支持:
4)在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:
以上图中的192.168.236.100是Master的ip地址
此时SSL 测试连接成功
5)在从上 change master to
master_log_file='mysql-bin.000004', 是在主上面show master status的结果这个不可以随便写
6)启用从并且查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器
测试:在主mysql上创建一个zhangsan库然后再从上面查看是否同步
创建完成后在从上面验证。
希望对您有所帮助~
实验环境:Master---Centos7.2 ---Mysql5.7
Slave---Centos7.2---Mysql5.7
首先需要安装mysql5.7这里不做演示,大家可以参考我的这篇文章:http://blog.csdn.net/qq_39591494/article/details/78255286
一、基于SSL实现Mysql加密的主从复制配置
1)在mysql主上创建SSL/RSA文件
# cd /usr/local/mysql/bin/ [root@yankerp bin]# mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data Generating a 2048 bit RSA private key .........................................................................................+++ ..................................................................................................+++ writing new private key to 'ca-key.pem' ----- Generating a 2048 bit RSA private key .+++ ....+++ writing new private key to 'server-key.pem' ----- Generating a 2048 bit RSA private key ............................+++ .....+++ writing new private key to 'client-key.pem' -----
cd /usr/local/mysql/bin ---切换目录
mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ---创建新的 SSL 文件
创建完成后我们进入/usr/local/mysql/data中查看,我们可以看到有pem后缀名这样的文件
2)产生了pem后缀文件时,我们重启mysql服务,查看mysql的错误日志
# systemctl restart mysqld
以上错误中提示不能获取私钥,这时候我们查看错误中的server-key.pem
我们发现server-key.pem这个文件没有r权限这时候我们给予权限再次重启mysql服务
这时候我们重启了mysql服务,错误日志中就没有错误了
3)登陆mysql查看mysql是否支持ssl安全连接
4)在主 mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL
在主上启用二进制日志,添加以下两行
注意:以上的server-id是唯一的,主和从的server-id都是不一样的
5)重启mysql服务查看mysql主的状态,开放3306端口
要记住上图所显示的 file 和 position 的值,配置从服务器要用到
二、配置mysql从服务器
1)在从mysql的/etc/my.cnf文件内容
注:server_id要唯一,不能和主mysql的重复
2)把主mysql生成的证书给了从服务器
3)在从上面查看主传来的证书,并且给予client-key.pem权限
随后继续在从上面配置ssl,修改/etc/my.cnf文件
# vim /etc/my.cnf
然后重启mysql服务,并查看mysql错误日志是否有错误信息
以上确定没报错后,查看 从SSL 是否被支持:
4)在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:
以上图中的192.168.236.100是Master的ip地址
此时SSL 测试连接成功
5)在从上 change master to
#change master to master_host='192.168.236.100', master_user='rep', master_password='pwd123', master_log_file='mysql-bin.000004', master_log_pos=154, master_ssl=1, master_ssl_ca=' /usr/local/mysql/data/ca.pem', master_ssl_cert='/usr/local/mysql/data/client-cert.pem', master_ssl_key='/usr/local/mysql/data/client-key.pem';
master_log_file='mysql-bin.000004', 是在主上面show master status的结果这个不可以随便写
6)启用从并且查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器
测试:在主mysql上创建一个zhangsan库然后再从上面查看是否同步
创建完成后在从上面验证。
希望对您有所帮助~
相关文章推荐
- 基于SSL实现MySQL的加密主从复制
- 红帽6.4 64位上实现mysql5.6的主从复制、基于GTID复制、半同步、ssl加密复制以及读写分离 推荐
- 基于SSL实现MySQL的加密主从复制
- 基于SSL实现MySQL的加密主从复制
- 基于SSL实现MySQL的加密主从复制
- mysql主从复制、半同步复制、基于ssl的复制配置过程
- MySQL主从复制 半同步 基于ssL加密复制
- centos7.2 安装 mysql5.7.13&&加密(ssl)实现mysql数据库的主从复制
- 基于SSL加密的MySQL主从复制
- mysql主从复制实现SSL加密和半同步复制
- 基于ssl加密的mysql主从复制
- mysql的主从构架,复制,半同步,SSL加密复制的实现
- MySQL互为主从模型实现基于SSL复制
- MySQL主从replication半同步设置及支持基于ssl复制配置
- 基于SSL实现MySQL主从复制
- ↑mysql主从复制实现SSL加密和半同步复制↑
- mysql基于SSL实现主从复制
- MySQL(十五)之基于ssl加密搭建含有gtid特性的MySQL主从复制
- 教你构建MySQL主从结构,实现基于SSL加密的主从同步机制。
- MySQL互为主从模型实现基于SSL复制 推荐