暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

【译】MySQL的加密复制

原创 smiling 2022-06-09
899

原文连接:Encrypted Replication for MySQL
原文作者:Steve Champion
image.png

在8.0版本中,MySQL复制默认设置是加密连接的。 下面的简单示例展示了使用Ubuntu 20.04和MySQL Community 8.0.27进行加密复制的基本设置。 这些步骤可能与其他Linux发行版类似。

此示例所需的文件随此版本的 MySQL 一起安装,可在数据目录中找到(图 1)。它们是五个不同的 .pem 文件,两个属于源服务器,两个将复制到副本服务器,一个将同时存在于源服务器和复制服务器上(表 1)。

image.png
图 1:源数据目录内容。请注意全新安装的 MySQL 中自动包含的 .pem 文件

image.png
表 1:具有权限的必要 .pem 文件列表

在默认数据目录中找到必要的文件之后,就可以记录该目录,并将客户端文件复制到复制服务器。

对于此示例,在源服务器和复制服务器上创建了一个单独的目录以更好地组织.pem文件,但这不是必需的。在源端上,这个目录被是“/var/lib/mysql/repl_security”(图 2)。对于复制端的.pem 文件,这目录是“/var/lib/mysql/repl_sec”(图 3)。

现在可以适当地分发文件。

对于源文件ca.pemserver-cert.pemserver-key.pem在本地被移动到repl_security目录(图2)。
image.png
图 2:复制所需的 ssl 服务器文件的目录(在源上)。检查文件权限以确保它们可以被 MySQL 使用。

复制服务器上需要的任何文件都必须从源发送到复制服务器。 必要的文件(如表1所示)是:ca.pem, client-cert.pem, client-key.pem。 在这种情况下,使用linux命令“scp”将客户端的.pem文件移动到复制服务器。 一旦在服务器上,文件就被移动到repl_sec目录。 在此之后,文件所有者和权限(通过chownchgrpchmod)更改为图 3 中所示的内容。
image.png
图 3:在配置文件中找到的目录中具有权限的副本文件。确保权限与此处显示的内容相匹配。

在所有文件都在所需的目录中之后,设置配置文件。

源端:

图 4 显示了包含要编辑的配置文件的默认目录,图 5 显示了要进行的更改。重要的是要注意 .pem 文件目录位于 [mysqld] 部分下(如图 5 所示)。
image.png
图 4:包含源配置文件的目录

image.png
图 5:源配置文件。以“ssl”开头的选项与安全连接有关

复制端:

图 6 显示了包含要编辑的配置文件的默认目录,图 7 显示了要进行的更改。需要注意的是,.pem 文件目录位于 [client] 部分下(如图 7 所示)。
image.png
图 6:复制端配置文件位置

image.png
图 7:复制端配置文件。必要的 ssl文件位于 [client] 下,并以“ssl”开头。

设置两个配置文件之后,请确保在两个服务器上重新启动MySQL实例。

现在,加密复制连接已经设置好,可以使用了。

概括

使用自动创建的.pem文件为 MySQL 设置加密复制过程中涉及的步骤参考:

  1. 找到必要的 .pem 文件
  2. 将客户端文件分发到复制服务器
  3. 确保所有 .pem 文件的权限和所有者正确
  4. 编辑源端和复制端的配置文件以将 ssl 选项指向适当的目录
  5. 重新启动源端和复制端 MySQL 实例
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论