返回顶部
首页 > 资讯 > 数据库 >基于 SSL 实现MySQL主从复制
  • 702
分享到

基于 SSL 实现MySQL主从复制

摘要

1、主服务器配置1)、在主服务器创建SSL/RSA文件 #在Mysql5.7之后,安装完毕mysql会在data目录下自动生成,这里模拟没有这些文件 [[email protected] ~]# mysql_ssl_rsa_setup


	基于 SSL 实现MySQL主从复制
[数据库教程]

1、主服务器配置
1)、在主服务器创建SSL/RSA文件


 #在Mysql5.7之后,安装完毕mysql会在data目录下自动生成,这里模拟没有这些文件
 [[email protected] ~]# mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data        # 创建一个新的ssl文件

技术图片

[[email protected] ~]# systemctl restart mysqld    # 重启服务
#查看mysql错误日志
[[email protected] ~]# tail -20 /usr/local/mysql/data/mysql.err 
#报错信息显示是不能获得私钥
#查询后发现没有r权限
[[email protected] ~]# ll  /usr/local/mysql/data/server-key.pem 
-rw------- 1 root root 1679 Jun 17 23:55 /usr/local/mysql/data/server-key.pem
[[email protected] ~]# chmod +r /usr/local/mysql/data/server-key.pem 
[[email protected] ~]# ll  /usr/local/mysql/data/server-key.pem 
-rw-r--r-- 1 root root 1679 Jun 17 23:55 /usr/local/mysql/data/server-key.pem
#重启服务
[[email protected] ~]# systemctl restart mysqld
#登录数据库查看是否支持ssl连接了
mysql> show variables like ‘%ssl%‘;
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| have_openssl  | YES             |
| have_ssl      | YES             |
| ssl_ca        | ca.pem          |
| ssl_capath    |                 |
| ssl_cert      | server-cert.pem |
| ssl_cipher    |                 |
| ssl_crl       |                 |
| ssl_crlpath   |                 |
| ssl_key       | server-key.pem  |
+---------------+-----------------+
9 rows in set (0.01 sec)
#生成一个复制账号
mysql> grant replication slave on *.* to ‘req‘@‘192.168.171.%‘ identified by ‘123‘ require ssl;

注:启用 mysql 支持 ssl 安全连接主要用于 mysql 主从复制(局域网可以非 ssh 连接即明文 复制,但 internet 复制建议采用 ssl 连接)

[[email protected] ~]# cat /etc/my.cnf          # 开启二进制日志
[mysqld]
log_bin=mysql-bin
server-id=1
[[email protected] ~]# systemctl restart mysqld      #重启服务
mysql> show master status ;           # 查看master当前状态
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

2、从服务器配置


[[email protected] ~]# cat /etc/my.cnf     # 开启中继日志
[mysqld]
relay_log=relay-bin
relay_log_index=slave-relay-bin
server-id=2          # 注意server-id 要唯一
#主服务器操作,将证书给到从服务器
[[email protected] ~]# cd /usr/local/mysql/data/
[[email protected] data]# scp ca.pem client-cert.pem client-key.pem [email protected]:/usr/local/mysql/data/
#查看从主服务器上方复制过来的证书
[[email protected] data]# ll ca.pem client-cert.pem client-key.pem 
-rw-r--r-- 1 root root 1107 Jun 18 00:16 ca.pem
-rw-r--r-- 1 root root 1107 Jun 18 00:16 client-cert.pem
-rw------- 1 root root 1679 Jun 18 00:16 client-key.pem
#设置 client-key.pem 的 r 权限
[[email protected] data]# chmod +r client-key.pem 
[[email protected] data]# vim /etc/my.cnf       # 继续在my.cnf中写入
ssl-ca=/usr/local/mysql/data/ca.pem
ssl-cert=/usr/local/mysql/data/client-cert.pem
ssl-key=/usr/local/mysql/data/client-key.pem
[[email protected] data]# systemctl restart mysqld      # 重启服务

查看 mysqld.err 是否有错误日志 ,查看ssl是否被支持
技术图片
在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:


[[email protected] data]# mysql --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem -u bak -p123 -h 192.168.171.135

技术图片
SSL 测试连接成功,并且登入的 SSL 协议是: Cipher in use is DHE-RSA-AES256-SHA


mysql> change master to master_host=‘192.168.171.135‘,master_user=‘bak‘,master_password=‘123‘,master_log_file=‘mysql-bin.000004‘,master_log_pos=766,master_ssl=1,master_ssl_ca=‘/usr/local/mysql/data/ca.pem‘,master_ssl_cert=‘/usr/local/mysql/data/client-cert.pem‘,master_ssl_key=‘/usr/local/mysql/data/client-key.pem‘;
mysql> start slave;
mysql> show slave statusG

技术图片
接下来就可以在主服务器上写入数据进行测试
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS) 是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过 SSL 加密可以大大提高数据的安全性。

基于 SSL 实现MySQL主从复制

原文地址:https://blog.51cto.com/14306186/2511571

您可能感兴趣的文档:

--结束END--

本文标题: 基于 SSL 实现MySQL主从复制

本文链接: https://lsjlt.com/news/7293.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于 SSL 实现MySQL主从复制
    1、主服务器配置1)、在主服务器创建SSL/RSA文件 #在MySQL5.7之后,安装完毕MySQL会在data目录下自动生成,这里模拟没有这些文件 [[email protected] ~]# mysql_ssl_rsa_setup...
    99+
    2016-06-28
    基于 SSL 实现MySQL主从复制 数据库入门 数据库基础教程 数据库 mysql
  • MySQL基于SSL协议的主从复制
       数据对于大部分公司来说都是最重要的部分,而MySQL的服务器在同步数据时,默认是使用明文进行传输,所以接下来就来说说MySQL基于SSL协议进行密文传输数据的主从复制模式。逻辑拓...
    99+
    2024-04-02
  • MySQL基于SSL安全连接的主从复制怎么实现
    本文小编为大家详细介绍“MySQL基于SSL安全连接的主从复制怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL基于SSL安全连接的主从复制怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。生...
    99+
    2023-07-05
  • MySQL:安装和基于SSL加密的主从复制(基于5.7)
       小生博客:http://xsboke.blog.51cto.com             ...
    99+
    2024-04-02
  • MySql之基于ssl安全连接的主从复制
    MySql基于ssl安全连接的主从复制一、设备环境centos7.2   两台MySQL 5.7MySQL 5.7 主要特性:原生支持Systemd更好的性能:对于多...
    99+
    2024-04-02
  • mysql+ssl主从复制
    主从复制原理 作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器I/O thread会负责来读取master binary log, 然后写入自身r...
    99+
    2024-04-02
  • mysql如何通过SSL实现主从复制
    下文主要给大家带来mysql如何通过SSL实现主从复制,希望这些内容能够带给大家实际用处,这也是我编辑mysql如何通过SSL实现主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。实验环境:n...
    99+
    2024-04-02
  • MySQL配置SSL主从复制
    MySQL5.6 创建SSL文件方法 官方文档:https://dev.mysql.com/doc/refman/5.6/en/creating-ssl-files-using-openssl.html#c...
    99+
    2024-04-02
  • MySQL基于SSL安全连接的主从复制(过程详解)
    目录主从复制的原理部署master1. 主机创建 SSL/RSA 文件2. 赋予权限并重启。3. 登录mysql查看ssl是否开启,并创建一个复制用户。4. master开启二进制日志,重启后查看二进制日志文件。5. 防...
    99+
    2023-04-06
    mysql 基于ssl主从复制 mysql 主从复制
  • 实现SSL加密的主从复制
    实验环境centos7.6最小化安装关闭防火墙、selinux一、建立CA并生成证书1、生成CA的私钥mkdir /etc/my.cnf.d/sslcd /etc/my.cnf.d/sslopenssl g...
    99+
    2024-04-02
  • 关系型数据库之MySQL基于SSL主从复制及SSL远程访问
      当mysql跨越互联网进行复制时别人可以窃取到mysql的复制信息,这些信息是明文的,因此存在不安全性,这里通过ssl对复制的信息进行加密。准备环境:1.系统环境:Centos6.52.数据库...
    99+
    2024-04-02
  • Mysql 主从复制之半同步复制(基于gtid)
    Mysql主从复制mysql主从复制原理:从库有两个线程IO线程和SQL线程1.从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;2.主库IO线程对比从库发送过来的maste...
    99+
    2024-04-02
  • MySQL 5.7 基于GTID搭建主从复制
    MySQL 5.7 基于GTID搭建主从复制    一、搭建过程 1.1 准备三个MySQL实例 mysqld --initialize-insecure --use...
    99+
    2024-04-02
  • mysql实现主从复制
    Mysql的 Replication 是一个异步的复制过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),从一个 Mysql instace(我们称之为 Master)复制到另一个 ...
    99+
    2024-04-02
  • MySQL主从复制使用SSL加密
    环境: CentOS7.4  CA主机一 mysql主机两台 数据库:MariaDB-5.5 一、准备证书文件 1.生成CA自签名证书 mkdir /etc/my.cnf.d/ssl cd /etc/my....
    99+
    2024-04-02
  • mysql之 MySQL 主从基于 GTID 复制原理概述
    一、 什么是GTID ( Global transaction identifiers ): MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid...
    99+
    2024-04-02
  • mysql之 MySQL 主从基于position复制原理概述
    1 、主从复制简介 MySQL 主从复制就是将一个 MySQL 实例(Master)中的数据实时复制到另一个 MySQL 实 例(slave)中,而且这个复制是一个异步复制的过程。 实现整个复制操作主要...
    99+
    2024-04-02
  • 如何搭建基于Docker的MySQL主从复制
    下文主要给大家带来如何搭建基于Docker的MySQL主从复制,希望这些内容能够带给大家实际用处,这也是我编辑如何搭建基于Docker的MySQL主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文...
    99+
    2024-04-02
  • mysql基于日志的主从复制是什么
    这篇文章主要介绍了mysql基于日志的主从复制是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。       ...
    99+
    2024-04-02
  • mysql5.6基于GTID主从复制设置
    1.主库和从库都必须要开启binlog2.主库和从库server-id不相同3.建立主从辅助用户grant replication slave on . to 'rep'@'192.168.200.%' i...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作