博客
关于我
MySQL基于SSL的主从复制
阅读量:788 次
发布时间:2023-02-12

本文共 2201 字,大约阅读时间需要 7 分钟。

MariaDB 主从复制与 SSL 配置指南

1. 主从复制配置

1.1 主节点配置

在主节点上启用二进制日志并设置服务器ID:

log-bin=mysql-bin# 主节点开启二进制日志binlog_format=mixedserver-id=1

1.2 从节点配置

在从节点上启用中继日志并关闭二进制日志:

server_id=2relay_log=relay-log# 从服务器中继日志并关闭二进制日志

1.3 从节点连接主节点并启动复制

通过命令连接主节点并启动复制线程:

# 在从节点上执行mysql -u repluser -p'replpass' -h 172.16.61.6 --execute "CREATE USER 'repluser'@'172.16.61.8' IDENTIFIED BY 'replpass'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repluser'@'172.16.61.8' IDENTIFIED BY 'replpass' REQUIRE SSL;"

1.4 查看从节点状态

执行以下命令查看从节点复制状态:

SHOW SLAVE STATUS\G

2. 主从复制测试

2.1 在主节点创建数据库

在主节点上创建数据库并记录二进制日志位置:

CREATE DATABASE testdb;

2.2 在从节点查看数据库状态

在从节点上执行以下命令查看数据库状态:

SHOW SLAVE STATUS\G

3. 实现 SSL 复制

3.1 生成 CA 证书

在 CA 服务器上生成密钥和证书:

umask 077; openssl genrsa -out private/cakey.pem 1024openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650touch {index.txt,serial}echo 01 > serial

3.2 生成主服务器证书

在主服务器上生成密钥和证书:

mkdir /mysql/ssl -pvcd /mysql/sslumask 077; openssl genrsa -out master.key 1024openssl req -new -key master.key -out master.csropenssl ca -in master.csr -out master.crt -days 3650

3.3 生成从服务器证书

在从服务器上生成密钥和证书并上传:

mkdir /mysql/ssl -pvcd /mysql/sslumask 077; openssl genrsa -out slave.key 1024openssl req -new -key slave.key -out slave.csrscp slave.csr root@172.16.61.6:/tmpopenssl ca -in /tmp/slave.csr -out /tmp/slave.crtscp /tmp/slave.crt root@172.16.61.8:/mysql/ssl/

3.4 拷贝 CA 证书

将 CA 证书拷贝到各节点:

cp /etc/pki/CA/cacert.pem .scp /etc/pki/CA/cacert.pem root@172.16.61.8:/mysql/ssl/

3.5 设置权限

更改 SSL 目录权限:

chown -R mysql.mysql /mysql/ssl/

3.6 主从服务器 SSL 配置

在 mysqld.conf 中配置 SSL 参数:

[mysqld]ssl=1ssl-ca=/mysql/ssl/cacert.pemssl-cert=/mysql/ssl/master.crtssl-key=/mysql/ssl/master.key

3.7 重启主节点并验证 SSL 状态

在主节点上重启 MySQL 并查看 SSL 状态:

SHOW GLOBAL VARIABLES LIKE "%SSL%";

4. 从节点 SSL 连接测试

在从节点上执行以下命令测试 SSL 连接:

mysql -u repluser -p'replpass' -h 172.16.61.6 --ssl-ca=/mysql/ssl/cacert.pem --ssl-cert=/mysql/ssl/slave.crt --ssl-key=/mysql/ssl/slave.key

5. 主节点授权 SSL 复制账号

在主节点上授权 SSL 复制账号:

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repluser'@'172.16.61.8' IDENTIFIED BY 'replpass' REQUIRE SSL;

6. 从节点 SSL 连接测试

在从节点上执行以下命令测试 SSL 连接:

START SLAVE;SHOW SLAVE ERROR;

通过以上步骤,您可以成功配置 MariaDB 主从复制并启用 SSL 加密复制连接。

转载地址:http://nhbfk.baihongyu.com/

你可能感兴趣的文章
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>