一键搞定:MariaDB SSL 证书设置与主从同步详细教程

一. 创建证书

创建证书路径

mkdir -p /opt/ssl

使用自签证书和密钥

根证书
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 36500 -key ca-key.pem -out ca.pem

服务端证书
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 36500 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

客户端证书
openssl req -newkey rsa:2048 -days 36500 -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 36500 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

其中创建根证书ca.pem,服务器端证书server-req.pem,客户端证书 client-req.pem的时候需要设置不同的Common Name,如果设置了相同的名字Mariadb客户端无法登录。
在这里插入图片描述
共得到8 个文件
在这里插入图片描述
验证可用性

openssl verify -CAfile ca.pem server-cert.pem client-cert.pem

在这里插入图片描述

二. 服务器端配置

vim /etc/my.cnf

[mariadb]中添加配置
[mariadb]
ssl
ssl-ca=/opt/ssl/ca.pem
ssl-cert=/opt/ssl/server-cert.pem
ssl-key=/opt/ssl/server-key.pem

在这里插入图片描述
重启mariadb服务

systemctl restart mariadb

进入数据库检查ssl

show variables like '%ssl%';

在这里插入图片描述
如果重启失败或发现have_ssl是 DISABLE,查看错误日志进行排查。

三. 客户端配置

先在服务器端设置一个用来进行ssl同步的用户

GRANT REPLICATION SLAVE ON *.* TO 'admin'@'客户端ip' IDENTIFIED BY 'admin' REQUIRE SSL;

将生成客户端的证书,公私钥复制到客户端的/opt/ssl/中
在这里插入图片描述

在客户端使用这个用户进行登录验证

mariadb --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem -h服务器端ip -uadmin -padmin

正常进入数据库证明通过认证。可以使用这个用户进行数据同步

客户端配置和服务器端步骤相同

vim /etc/my.cnf

[mariadb]中添加配置
[mariadb]
ssl
ssl-ca=/opt/ssl/ca.pem
ssl-cert=/opt/ssl/server-cert.pem
ssl-key=/opt/ssl/server-key.pem

重启数据库服务

四. 主从同步验证

将客户端的mariadb服务作为从服务器验证数据同步是否正常

进入服务器端数据库查看信息

show master status;

记录File和Position的参数
在这里插入图片描述

进入客户端数据库进行主从设置

stop slave;

CHANGE MASTER TO MASTER_HOST='服务器ip', MASTER_USER='admin', MASTER_PASSWORD='admin', MASTER_LOG_FILE='db-binlog.000006', MASTER_LOG_POS=729, MASTER_SSL=1, MASTER_SSL_CA = '/opt/ssl/ca.pem', MASTER_SSL_CERT = '/opt/ssl/client-cert.pem', MASTER_SSL_KEY = '/opt/ssl/client-key.pem'
start slave;
show slave status\G

在这里插入图片描述
主从状态正常。验证同步
在服务器端新建库或者插入一些测试数据,查看客户端是否有相同的数据生成

主数据库
在这里插入图片描述

从数据库
在这里插入图片描述
如果你觉得文章还不错,请大家 点赞、分享、留言下!我还为大家准备了学习资料,感兴趣的小伙伴快来找我领取一起交流学习哦!
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值