c++ - 我的 C++ 程序会从世界各地的计算机(在我的 LAN 之外)连接到本地 MySQL 数据库吗?

标签 c++ mysql networking network-programming

您能否告诉我,我是否已正确配置为全局任何计算机运行我的程序并成功连接到我的本地 MySQL 数据库(在端口 3306 上运行)?

我有一个带有 MySQL 连接器程序的 C++,它连接到端口 3306 上的 WAN IP 地址,如下所示:

con = driver->connect("tcp://108.xxx.xxx.xxx:3306", "root", "pass");

我已经为端口 3306->3306 设置了端口转发到 LAN 上在端口 3306 上运行 mysql 服务器的计算机。

当我在 LAN 内的计算机上运行它时,它可以很好地连接到我的数据库,但这适用于全局计算机吗?

此外,如果我选择在端口 3306 上运行 C++ 服务器,LAN 之外的客户端是否能够连接?

最佳答案

这看起来当然是正确的,但有一些事情需要考虑。

  • 首先,为什么要硬编码您的 IP 地址而不是使用 主机名?如果您的托管提供商发生变化怎么办?
  • 您是否愿意将这些特定的登录参数分发给您的数据库?如果你想怎么办 改变他们?
  • 全局计算机是什么意思?互联网上的任何内容,还是您真正指的是世界上的任何内容?

你到底想做什么?

关于c++ - 我的 C++ 程序会从世界各地的计算机(在我的 LAN 之外)连接到本地 MySQL 数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20734926/

相关文章:

c++ - 为什么我不能分配具有已删除或私有(private)析构函数的类的数组?

c++ - 错误 C2664 : cannot convert argument 1 from 'NvPhysicalGpuHandle'

php 订阅者 sql 查询太大?

ubuntu - avahi-daemon 在注册我正在使用 avahi-publish-service 发布的服务时卡住了

C++ 错误的返回类型?

java - 如何有效地从该对象中包含的另一个对象访问对象字段/属性

php - 我在尝试搜索数据库时遇到此错误。有什么建议么?

带有特殊分隔符的 MySQL LOAD DATA INFILE

Android 绑定(bind)到特权端口 22

sockets - NAT 路由器在拒绝来自先前打开的连接的传入数据包之前等待多长时间