我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql如何通过SSL实现主从复制

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql如何通过SSL实现主从复制

下文主要给大家带来mysql如何通过SSL实现主从复制,希望这些内容能够带给大家实际用处,这也是我编辑mysql如何通过SSL实现主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

实验环境:

node1:192.168.4.61

node2:192.168.4.62

CA:192.168.4.63

node1和node2时间同步

[root@node1~]#ntpdate 172.18.0.1

[root@node2~]#ntpdate 172.18.0.1

[root@node1~]#vim /etc/chrony.conf #node1和node2操作一样

mysql如何通过SSL实现主从复制

[root@node1~]#systemctl start chronyd.service #启动服务

node1和node2基于key连接

[root@node1~]#ssh-keygen

mysql如何通过SSL实现主从复制

[root@node1~]#ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.4.62#将公钥复制到node2上

node2操作和node1操作相同。

修改hosts文件

node1和node2配置相同

[root@node1~]#vim /etc/hosts

  3 192.168.4.61 node1
 4 192.168.4.62 node2

确保关闭iptables和selinux

node1和node2安装mariadb数据库

[root@node1~]#yum install -y mariadb-server

[root@node2~]#yum install -y mariadb-server

配置node1为主云服务器

[root@node1~]#vim /etc/my.cnf.d/server.cnf

mysql如何通过SSL实现主从复制

[root@node1~]#systemctl start mariadb #启动mariadb服务

MariaDB [(none)]> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'joah'@'192.168.4.62' IDENTIFIED BY '123456';  #对用户授权
查看是否开启二进制日志
MariaDB [(none)]> SHOW VARIABLES LIKE '%log%bin%';

mysql如何通过SSL实现主从复制

在node1上二进制日志状态信息
MariaDB [(none)]> SHOW MASTER STATUS;

mysql如何通过SSL实现主从复制

配置node2从云服务器

[root@node2~]#vim /etc/my.cnf.d/server.cnf

mysql如何通过SSL实现主从复制

[root@node2~]#systemctl start mariadb #启动mariadb服务

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.4.61',MASTER_USER='joah',MASTER_PASSWORD='123456',MASTER_LOG_FILE='master-log.000003',MASTER_LOG_POS=417;   #设置连接主服务器
启动从云服务器
MariaDB [(none)]> START SLAVE;
启动IO线程和SQL线程
MariaDB [(none)]> START SLAVE IO_THREAD,SQL_THREAD;
查看从云服务器状态
MariaDB [(none)]> START SLAVE IO_THREAD,SQL_THREAD;

mysql如何通过SSL实现主从复制

测试是否已经实现主从复制

mysql如何通过SSL实现主从复制

实现SSL功能

搭建CA云服务器

[root@CA/etc/pki/CA]#touch index.txt

[root@CA/etc/pki/CA]#echo 01 > serial

生成key文件

[root@CA/etc/pki/CA]#(umask 077;openssl genrsa -out private/cakey.pem 2048)

生成自签证书

[root@CA/etc/pki/CA]#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650

mysql如何通过SSL实现主从复制

node1生成证书

[root@node1~]#mkdir /etc/mysql/ssl -pv

[root@node1~]#chown mysql.mysql /etc/mysql/ssl/ -R

[root@node1/etc/mysql/ssl]#(umask 077;openssl genrsa -out master.key 2048)[root@node1/etc/mysql/ssl]#openssl req -new -key master.key -out master.csr

mysql如何通过SSL实现主从复制

[root@node1/etc/mysql/ssl]#scp master.csr 192.168.4.63:/etc/pki/CA/newcerts/

[root@CA/etc/pki/CA/newcerts]#openssl ca -in master.csr -out master.crt -days 365

[root@CA/etc/pki/CA/newcerts]#scp master.crt ../cacert.pem 192.168.4.61:/etc/mysql/ssl

[root@node1~]#vim /etc/my.cnf.d/server.cnf

mysql如何通过SSL实现主从复制

[root@node1~]#systemctl restart mariadb

查看是否开启SSL功能

mysql如何通过SSL实现主从复制

node2生成证书

[root@node2~]#mkdir /etc/mysql/ssl -pv

[root@node2~]#chown mysql.mysql /etc/mysql/ssl/ -R

[root@node2/etc/mysql/ssl]#(umask 077;openssl genrsa -out slave.key 2048)

[root@node2/etc/mysql/ssl]#openssl req -new -key slave.key -out slave.csr

[root@node2/etc/mysql/ssl]#scp slave.csr 192.168.4.63:/etc/pki/CA/newcerts

[root@CA/etc/pki/CA/newcerts]#openssl ca -in slave.csr -out slave.crt -days 365

[root@CA/etc/pki/CA/newcerts]#scp slave.crt ../cacert.pem 192.168.4.62:/etc/mysql/ssl

[root@node2/etc/mysql/ssl]#vim /etc/my.cnf.d/server.cnf

mysql如何通过SSL实现主从复制

重启服务

[root@node2/etc/mysql/ssl]#systemctl restart mariadb

mysql如何通过SSL实现主从复制

基于SSL连接

node1授权
MariaDB [(none)]> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'joah'@'192.168.4.62' IDENTIFIED BY '123456' REQUIRE SSL;
测试

[root@node2~]#mysql -ujoah -p123456 -h292.168.4.61 --ssl

mysql如何通过SSL实现主从复制

node2连接主云服务器以ssl复制
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.4.61',MASTER_USER='joah',MASTER_PASSWORD='123456',MASTER_LOG_FILE='master-log.000008',MASTER_LOG_POS=429,MASTER_SSL=1,MASTER_SSL_CA='/etc/mysql/ssl/cacert.pem',MASTER_SSL_CERT='/etc/mysql/ssl/slave.crt',MASTER_SSL_KEY='/etc/mysql/ssl/slave.key';

MariaDB [(none)]> START SLAVE;  #启动从云服务器

MariaDB [(none)]> SHOW SLAVE STATUS\G;

mysql如何通过SSL实现主从复制

mysql如何通过SSL实现主从复制

小结

(1)如果你已经正确的添加了证书,但是启动以后还是没有启动SSL功能,有可能没有权限

mysql如何通过SSL实现主从复制

[root@node2~]#chown mysql.mysql -R /etc/mysql/ssl

(2)如果出现图片中的问题,停止slave即可

mysql如何通过SSL实现主从复制

(3)每一个过程中都需要验证是否成功然后进行下面的操作。

对于以上关于mysql如何通过SSL实现主从复制,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql如何通过SSL实现主从复制

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于 SSL 实现MySQL主从复制

1、主服务器配置1)、在主服务器创建SSL/RSA文件 #在MySQL5.7之后,安装完毕MySQL会在data目录下自动生成,这里模拟没有这些文件 [[email protected] ~]# mysql_ssl_rsa_setup --user=mysql
基于 SSL 实现MySQL主从复制
2016-06-28

mysql 主从复制如何跳过报错

一、传统binlog主从复制,跳过报错方法mysql> stop slave; mysql> set global sql_slave_skip_counter = 1; mysql> start slave; mysql> show sl
2022-05-28

redis主从复制如何实现

redis主从复制是一种实现数据冗余和高可用性的机制,通过以下步骤实现:建立连接、部分复制、增量复制、更新状态和同步完成。它具有数据冗余、高可用性、负载均衡和灾难恢复等优势,但也应注意其单向复制、异步复制、网络延迟和过期数据的问题。Redi
redis主从复制如何实现
2024-06-12

MySQL基于SSL安全连接的主从复制怎么实现

本文小编为大家详细介绍“MySQL基于SSL安全连接的主从复制怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL基于SSL安全连接的主从复制怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。生
2023-07-05

PostgreSQL中如何实现主从复制

要实现PostgreSQL中的主从复制,可以按照以下步骤进行操作:配置主服务器:首先在主服务器上打开postgresql.conf文件,设置参数wal_level为hot_standby,max_wal_senders为至少1,和wal_k
PostgreSQL中如何实现主从复制
2024-04-09

MySQL基于SSL安全连接的主从复制(过程详解)

目录主从复制的原理部署master1. 主机创建 SSL/RSA 文件2. 赋予权限并重启。3. 登录mysql查看ssl是否开启,并创建一个复制用户。4. master开启二进制日志,重启后查看二进制日志文件。5. 防火墙配置,实验环境中
2023-04-06

编程热搜

目录