本文共 2201 字,大约阅读时间需要 7 分钟。
在主节点上启用二进制日志并设置服务器ID:
log-bin=mysql-bin# 主节点开启二进制日志binlog_format=mixedserver-id=1
在从节点上启用中继日志并关闭二进制日志:
server_id=2relay_log=relay-log# 从服务器中继日志并关闭二进制日志
通过命令连接主节点并启动复制线程:
# 在从节点上执行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;"
执行以下命令查看从节点复制状态:
SHOW SLAVE STATUS\G
在主节点上创建数据库并记录二进制日志位置:
CREATE DATABASE testdb;
在从节点上执行以下命令查看数据库状态:
SHOW SLAVE STATUS\G
在 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
在主服务器上生成密钥和证书:
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
在从服务器上生成密钥和证书并上传:
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/
将 CA 证书拷贝到各节点:
cp /etc/pki/CA/cacert.pem .scp /etc/pki/CA/cacert.pem root@172.16.61.8:/mysql/ssl/
更改 SSL 目录权限:
chown -R mysql.mysql /mysql/ssl/
在 mysqld.conf 中配置 SSL 参数:
[mysqld]ssl=1ssl-ca=/mysql/ssl/cacert.pemssl-cert=/mysql/ssl/master.crtssl-key=/mysql/ssl/master.key
在主节点上重启 MySQL 并查看 SSL 状态:
SHOW GLOBAL VARIABLES LIKE "%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
在主节点上授权 SSL 复制账号:
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repluser'@'172.16.61.8' IDENTIFIED BY 'replpass' REQUIRE SSL;
在从节点上执行以下命令测试 SSL 连接:
START SLAVE;SHOW SLAVE ERROR;
通过以上步骤,您可以成功配置 MariaDB 主从复制并启用 SSL 加密复制连接。
转载地址:http://nhbfk.baihongyu.com/