AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1077924
Accepted
James Butler
James Butler
Asked: 2021-09-18 12:15:57 +0800 CST2021-09-18 12:15:57 +0800 CST 2021-09-18 12:15:57 +0800 CST

AWS EC2 MySQL 复制:配置为从主服务器查询从服务器

  • 772

我已经在单独的 AWS EC2 实例上成功设置了 MySQL 主从情况。从站正在运行并成功复制主站。

到目前为止,一切都很好。

现在我希望能够查询从属设备(用于分析等),但我找不到能够将查询从主设备发送到从设备的正确配置。

我得到的错误(取决于我的 AWS 安全配置文件设置)是“连接被拒绝”或“连接超时”

在从属服务器上,我有一个 EC2 安全组允许主 IP 块用于连接到端口 3306,并且我在主服务器的连接配置中使用了从属服务器的 IP 地址。

当我尝试从主服务器查询从服务器时,导致“连接被拒绝”错误。

在主服务器上,我运行“显示完整进程列表”并看到从属主机是 AWS EC2 主机名,而不是 IP,并且端口 44508 被添加到最后,所以我将主服务器上的连接信息更改为使用从属主机名称而不是 IP 地址,以及从站上的安全组设置以允许来自端口 44508 而不是 3306 上的主站的流量。

这导致了“连接超时”错误。

我尝试了从属安全组中的 IP/主机名/端口的组合,但只是得到了这两个错误之一,任意组合。

任何人都可以提供有关如何配置事物的提示,以便我可以从该主计算机上运行(只读)查询,并将结果返回给主计算机?TIA。

两个系统的设置相同,除了 master 也在运行 Codeigniter4,这是我设置连接配置的地方:

Ubuntu 20.04.3 LTS 和 MySQL 8.0.26-0

connection mysql replication codeigniter
  • 2 2 个回答
  • 191 Views

2 个回答

  • Voted
  1. Martynas Saint
    2021-09-18T22:25:28+08:002021-09-18T22:25:28+08:00

    在这样的设置中,您的客户端(应用程序、软件)应连接到从属服务器并仅运行 SELECT 查询(如果您需要运行写入查询 - 它们应该仅在主服务器上完成)。

    你应该检查:

    1. 如果 MySQL 服务器在从服务器中侦听网络。
    2. 如果安全组允许您的应用程序连接到从服务器。
    3. 从站应配置为只读以防止出现问题。
    • 1
  2. Best Answer
    James Butler
    2021-09-25T10:46:09+08:002021-09-25T10:46:09+08:00

    已解决:在从站的 /etc/mysql/mysql.conf.d/mysqld.cnf 中,我需要注释掉“bind-address”和“mysqlx-bind-address”行,停止从站,重新启动 mysqld 并启动从站.

    拥有'bind-address = 127.0.0.1'会阻止来自其他任何地方的连接。注释掉它允许从所有来源访问,而不仅仅是本地主机。EC2 安全组限制对端口 3306 的访问仅限于主服务器。

    现在工作得很好。再次感谢您的关注。

    • 0

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

  • Linux 机器需要 10 秒才能建立连接

  • 计划终止端口连接

  • 远程连接到 MySQL 服务器需要很长时间

  • 在 Windows 服务器上运行的 Oracle 的典型最大数据库连接数是多少?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve