使用SSL安全连接MySQL数据库_mysql实现ssl主从安全连接案例

实现基于SSL\RSA安全连接的主从复制

测试环境:主机IPServer-id

Master192.168.159.1281

Slave192.168.159.1292

切换目录到bin下

3d6a70d17f796890448db265ef2ffa76.png

在主服务器中创建ssl文件

68c22c940bae86380ebb0255a7ee49e8.png

ssl创建命令:

mysql_ssl_rsa_setup--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

查看data目录里是否生成ssl文件

2642e38760ee70409517d475e2919a11.png

查看错误日志:mysqld.err

2ebce599aab4d2abbd7d073cffe3b728.png

添加权限给获取私钥

0f3e9c77d6b345c11c78452237c8f9b0.png

修改后权限重启服务,查看错误日志就不会有报错信息了

查看数据库支不支持ssl安全连接,下面yes两项为可以,如果不是yes说明有问题

d25e8b690787c1b1497688bcf1124ece.png

创建授权用户

43c9697b1d4a8df37b7f87e63496bd6e.png

授权命令:grant replication slave on *.* to 'rep'@'192.168.159.%' identified by '123' require ssl;

开启二进制日志,重启mysql服务

6e86d6a956d5373d74c7f22c2f5ca591.png

查看主mysql的状态

d4dd56267fd3e1a73fd7e77e0c641d72.png

配置防火墙允许mysql服务3306端口号通过

bd207a33e9686256d3b95727a63d1c3a.png

在从服务器上配置mysql文件/etc/my.cnf注意server_id必须唯一,不能与其他mysql主机冲突

4d00ee9a0965943a520648447fa668f5.png

在主服务器颁发证书给从服务器

dc54c73ea90c4dac63f7ae5a01a07fe7.png图中内容如下:

scp ca.pem client-cert.pem client-key.pem root@192.168.159.129:/usr/local/mysql/data/

查看给从服务器的证书 添加读取权限

4a5ad6ec333be6c0a489dfca478e46fd.png

之后修改/etc/my.cnf文件添加参数

87a695f28dc73f00315aa3114e1c064a.png

重启mysql服务

systemctlrestartmysqld

查看mysql服务器是否支持ssl如果不是yes看看错误日志,排查

027007985897d01ebb6c30119d4bf146.png

使用授权用户在从服务器上登录主服务器中,测试是否成功

1344e451c24c94c37ac91b21bf0701cc.png

上图已经登录到主服务器  登录格式:

mysql--ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem -urep -p123 -h 192.168.159.128

注:往下配置的时候要退出刚才使用rep登录的数据库,报错信息如下:

565d348fc0dc6af5f6d335a9fb38dece.png

配置主从服务器replicate,在从服务器中配置

6a72fc21182544c09de9ae76ec28e341.png

命令如下:

change master to

master_host='192.168.159.128',

master_user='rep',

master_password='123',

master_log_file='mysql_bin.000002',

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';

启用从服务器,查看从的状态是否为yes

aec5863992218c7e554dabff0bb7621a.png

测试在主服务器上创建数据库、表、插入数据,从服务器是否同步

2a6a45aaac3df9e506f167296ed1bedf.png

查看从服务器是否同步

1ee80ff40afaee25a83aedac714d7e9c.png

此时查看data目录里面就会有之前在/etc/my.cnf参数指定的文件

aa4e7d5462fcf37c6d740f12b20efee7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值