基于SSL实现Mysql加密主从

摘要:
MySQL主从复制是明文传输,在某些特殊场合是绝对不允许的,数据的安全性会受到威胁。这里,我们只需构建基于SSL的MySQL主从复制Ps:这里,主MySQL用于为CA服务器master#mkdir-p/etc/my生成CA自签名证书。cnf中。d/ssl#cd/etc/my。cnf中。d/ssl/#opensslgens204>cakey.pem生成RSApriva

Mysql主从复制是明文传输的,对于一些特殊的场合是绝对不允许的,数据的安全性会受到威胁,在这里,简单的构建基于SSL的mysql主从复制

Ps:这里采用master-mysql为CA服务器

主端生成CA自签名证书

# mkdir -p /etc/my.cnf.d/ssl
# cd /etc/my.cnf.d/ssl/
# openssl genrsa 2048 > cakey.pem
Generating RSA private key, 2048 bit long modulus
............+++
.+++
e is 65537 (0x10001)

# openssl req -new -x509 -key cakey.pem -days 3650 -out cacert.pem

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:bxy
Organizational Unit Name (eg, section) []:CA
Common Name (eg, your name or your server's hostname) []:ca.bxy.com
Email Address []:

[root@master-mysql ssl]# openssl req -newkey rsa:2048 -days 365 -nodes -keyout master.key > master.csr    #生成matsre私钥以及证书申请

基于SSL实现Mysql加密主从第1张

[root@master-mysql ssl]# openssl x509 -req -in master.csr -CA cacert.pem -CAkey cakey.pem -set_serial 01 > master.crt    #给master端颁发证书

基于SSL实现Mysql加密主从第2张

 给slave颁发证书

[root@slave-mysql ssl]# openssl x509 -req -in slave.csr -CA cacert.pem -CAkey cakey.pem -set_serial 02 > slave.crt

基于SSL实现Mysql加密主从第3张

 【mysql主从配置】

ps:在主从两端写上对应证书的路径

基于SSL实现Mysql加密主从第4张

基于SSL实现Mysql加密主从第5张

Master端配置:

[root@master-mysql ~]# vim /etc/my.cnf   

基于SSL实现Mysql加密主从第6张

[root@master-mysql ~]# systemctl restart mariadb

MariaDB [(none)]> grant replication slave on *.* to 'repluser'@'192.168.2.162' identified by '123.com' require ssl;    #创建从库复制用户,并仅允许通过ssl加密连接
Query OK, 0 rows affected (0.00 sec)

基于SSL实现Mysql加密主从第7张

 Slave端配置

[root@slave-mysql ~]# vim /etc/my.cnf

 基于SSL实现Mysql加密主从第8张

[root@slave-mysql ~]# systemctl restart mariadb

基于SSL实现Mysql加密主从第9张

 基于SSL实现Mysql加密主从第10张

免责声明:文章转载自《基于SSL实现Mysql加密主从》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微软Blazor组件发布,DevExpress v19.1.8中可用:Charts新功能.NET 基础知识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mongodb与mysql命令详细对比

传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。 MySQL MongoDB 说明...

MySQL 8.0.17 版安装 || Windows

Mysql 8.0.17 安装 1.mysql下载 选择对应的下载地址:https://www.mysql.com/downloads/ 这里下载的是mysql-8.0.17-winx64.zip 2.解压 解压并创建my.ini和data文件夹 basedir替换成自己的解压路径 my.ini [client] # 设置mysql客户端默认字符集...

分布式监控系统之Zabbix proxy

  前文我们了解了zabbix 使用snmp和jmx信道采集数据的相关使用配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14029864.html;今天我们来说zabbix proxy;   1、zabbix proxy是什么?为什么要使用zabbix proxy?   简单讲zabbix proxy就是zab...

MYSQL SQL语句 之 select

select语句在数据库操作中是操作频率最高的语句,使用方式也是多种多样,它的基本功能是:从表中选取数据,结果存储在一个结果集中。可以联合where,and,or,Order By,distinct,top, like,等一起使用。 一. select 最基本的用法如下: select 字段 from 表名 字段是什么,选出的结果集中就包括什么字段 例如:...

mysql三种备份方式

一、备份的目的 做灾难恢复:对损坏的数据进行恢复和还原 需求改变:因需求改变而需要把数据还原到改变以前 测试:测试新功能是否可用 二、备份需要考虑的问题 可以容忍丢失多长时间的数据; 恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务; 恢复的对象,是整个库,多个表,还是单个库,单个表。 三、备份的类型 1、根据是否需要数据库离线 冷备(co...

MySql通过Data恢复数据库数据

公司的服务器开不了机,把硬盘装在其他机器上面,文件是没有丢失,可是数据库开不了了。上网查了下,用DATA恢复了数据。 1、先通过MYSQL目录下的my.ini配置文件找到 datadir的文件夹地址。data里面的文件就是数据库的信息,备份复制出来。 2、重新安装相同版本的mysql数据库,找到新安装的mysql数据库Data的地址,用之前备份的替换掉D...