mysql - 我可以在端口13306上配置mysql复制并在3306上配置正常的数据库操作吗?

标签 mysql

我知道 Mysql 复制可以在 3306 上运行,但我想了解的是,

有什么办法可以保留 a) 3306 用于正常的 Mysql 操作,13306 仅用于复制目的?

我有一个要求,我们需要通过动态IP设置mysql复制,这意味着我们的mysql服务器将向公众开放,所以我们想要保护我们的数据库,并且想要打开仅用于复制的最小端口(我们将设置 SSL 复制)

b)如果这是不可能的,我还有什么其他选择,我们只能应用从主到从或从主到主的更改?

这可以做到吗?感谢您分享这方面的任何灯光或引用。 谢谢

最佳答案

MySQL 复制通常在与任何其他 MySQL 连接相同的端口上工作,默认情况下为 3306,正如您所正确指出的那样。

添加保护的标准方法:

  • 系统级防火墙,仅允许来自特定主机(复制对等点)的流量到达 3306
  • MySQL 内置授权 - 例如将 *.* 上的复制从属授予“repl”@“YOUR_TRUSTED_IP”;
  • 如您提到的,添加 TLS 以保护传输中的数据。

如果您选择将 MySQL 绑定(bind)到不同的端口,您将需要更新您的 CHANGE MASTER TO 配置,请查看 here .

我能想到的唯一允许您以任何方式限制复制流量本身的方法是通过GRANT REPLICATION SLAVE命令,您可以在其中选择仅特定的复制流量user@host 将具有访问权限。

关于mysql - 我可以在端口13306上配置mysql复制并在3306上配置正常的数据库操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59699398/

相关文章:

mysql - 删除MySQL中特定数据库中用户的所有权限

MySQL 从一系列相同值中选择第一个和最后一个记录

PHP/MySQL - 编辑审批系统

php - 根据相同 ID 选择表中的总列

mysql - 屏蔽或替换列值mysql任何列数据

带条件的 MySQL SUM DISTINCT

mysql - 匹配 MYSQL IN() 中传递的每个变量

mysql - Eloquent belongsToMany 和三表(包括 Pivot)

mysql - 取消 MySQL REPLICATE 上的 DELETE

php - 在 PHP/MySQL 中对符合特定条件的行进行排序