博客
关于我
MySQL基于SSL的主从复制
阅读量:795 次
发布时间: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学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(50)——Oracle,mysql和SQL Server的区别
查看>>
Mysql学习总结(51)——Linux主机Mysql数据库自动备份
查看>>
Mysql学习总结(52)——最全面的MySQL 索引详解
查看>>
Mysql学习总结(53)——使用MySql开发的Java开发者规范
查看>>
Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
查看>>
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>