mysql实现主从复制的日志是哪种_sqlserver主从复制

mysql实现主从复制的日志是哪种_sqlserver主从复制1、主服务器配置1)、在主服务器创建SSL/RSA文件#在MySQL5.7之后,安装完毕MySQL会在data目录下自动生成,这里模拟没有这些文件[root@mysql~]#mysql_ssl_rs…

	基于 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文件

代码100分

基于 SSL 实现MySQL主从复制

代码100分[[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 连接)

代码100分[[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是否被支持
基于 SSL 实现MySQL主从复制
在配置主从复制之前可以在从 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 实现MySQL主从复制
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 实现MySQL主从复制
接下来就可以在主服务器上写入数据进行测试了
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS) 是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过 SSL 加密可以大大提高数据的安全性。

基于 SSL 实现MySQL主从复制

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7272.html

(0)
上一篇 2023-03-23
下一篇 2023-03-24

相关推荐

  • 判断Python列表是否为空的方法

    判断Python列表是否为空的方法Python是一种开发语言,简单易学,因此在软件开发中被广泛使用。Python具有许多数据结构,其中列表是其中最常见和实用的数据结构之一。在使用过程中,我们常常需要判断一个列表是否为空,本文将为您介绍几种方法来判断Python列表是否为空。

    2024-07-04
    42
  • mongoDB复制集修改 oplog 大小「建议收藏」

    mongoDB复制集修改 oplog 大小「建议收藏」ctiy:PRIMARY>uselocalswitchedtodblocalctiy:PRIMARY>db.oplog.rs.stats().maxSize//查看大小NumberLong(

    2023-03-26
    145
  • 使用NumPy创建全为1的数组

    使用NumPy创建全为1的数组在许多数据科学领域,构建一个均匀分布的数组是常见任务之一。使用Python中的NumPy库可以快速轻松地实现这个过程。这个文章将详细讲解如何使用NumPy库创建全为1的数组。

    2024-04-30
    80
  • SQL查询结果排序_sql中查询结果多余5条

    SQL查询结果排序_sql中查询结果多余5条【SQL从一点一滴分析系列文章】为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis 、Hibernate 中的相关操作 点击查…

    2023-01-29
    151
  • 以太阳http为中心

    以太阳http为中心以太阳HTTP(SolarHTTP)是一种基于HTTP协议的分布式应用程序服务框架和平台。与传统的Web服务器相比,太阳HTTP具有更好的可扩展性、更高的并发性、更好的稳定性和更高的通信效率。太阳HTTP可用于构建各种分布式应用,如Web应用、移动应用、大数据应用等。

    2024-06-06
    63
  • MySQL密码加密与解密[亲测有效]

    MySQL密码加密与解密[亲测有效]MySQL加密和解密实例详解 有多种前端加密算法可用于数据加密、解密,这是一种简单的数据库级别的数据加密、解密解决方案。 以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )

    2023-02-15
    135
  • 使用Jupyter进行Python编程

    使用Jupyter进行Python编程随着数据分析和机器学习的火热,Python作为一种优秀的编程语言,也越来越受到数据科学家的青睐。而Jupyter,则是Python编程中必不可少的利器。其灵活的交互式界面、方便的数据可视化和便捷的代码编辑功能,使得它成为Python编码的不二之选。本文将从多个方面详细介绍如何使用Jupyter进行Python编程。

    2024-06-15
    49
  • 技术分享 | 从库 MTS 多线程并行回放(一)[通俗易懂]

    技术分享 | 从库 MTS 多线程并行回放(一)[通俗易懂]作者:高鹏(八怪) 本节包含分发调用流程请参考链接: https://www.jianshu.com/p/8706d7422d89 一、综述 与单 SQL 线程的回放不同,MTS 包含多个工作线程,…

    2023-01-29
    156

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注