【问题标题】:How to connect to the MySQL database from an IP?如何从 IP 连接到 MySQL 数据库?
【发布时间】:2018-02-23 08:57:19
【问题描述】:

我在我们公司的内部网络上安装了一个虚拟机。

我使用 Wamp 托管一个网站,以便公司的其他成员可以访问它。

但我想知道如何直接从 IP 访问 MySQL 基础 wamp 以运行 VB 脚本。

确实,在我的 VB 文件中,我将其用于连接:

con.ConnectionString = "DRIVER = {MySQL ODBC 3.51 Driver};" & "SERVER = localhost;" & "DATABASE = mydatabase;" & "UID = root; PWD =; OPTION = 3"

我打开了VM的端口,并在文件C:\wamp\bin\mysql\mysql5.7.19\my.ini中添加了这一行:

bind-address = [my_server_ip]

但它没有连接。我还应该做什么?

【问题讨论】:

  • 您应该使用 MySQL NET 连接器。你可以找到它here。您可以找到它的文档here 和参考列表here。如果您想查看代码示例,还可以查看this
  • 1) 将localhost 更改为VM 的IP 地址 2) 在MySQL 中设置一个允许从远程IP 地址连接的用户帐户。默认情况下,root 只允许从运行 MySQL 的机器连接 3) 在您的 VB 代码中使用这个新的 MySQL 帐户进行连接。
  • PS 不要更改 root 以允许从远程 IP 连接。这是一个主要的安全布布
  • 谢谢 RiggsFoll,我更改了数据库的用户名,它成功了!
  • @Rocstar 是的,它适用于 ODBC 3.51 驱动程序,但它确实很老,有很多问题,你不应该使用它。请改用本机 .Net 驱动程序。

标签: mysql vb.net wamp


【解决方案1】:

不要使用 ODBC 驱动程序,请按照以下步骤在您的项目中安装MySql.Data from NuGet

  • 解决方案资源管理器中右键单击您的项目
  • 从上下文菜单中,选择管理 NuGet 包
  • NuGet 包管理器中,点击浏览标签
  • 搜索 MySql.Data(由 Oracle)
  • 在搜索结果中,选择MySql.Data(by Oracle)
  • 单击安装按钮安装最新版本(撰写此答案时为 6.10.6)

安装 NuGet 包是推荐的方式,因为它可以更轻松地管理您的包并使其保持最新,但如果不想这样做,您可以从上面的 NuGet 链接下载他的包,或者直接从Oracle's website,解压MySql.Data.dll文件,放到你的bin文件夹,在你的项目中添加对它的引用。

无论哪种方式,现在您的项目都使用了 MySql.Data 驱动程序,请将您的连接字符串更改为:

"DefaultDB": "Server=127.0.0.0;Database=mydatabase;User ID=;Password=;"

将 IP 更改为您的 VM 的 IP,当然还有您的数据库名称、用户名和密码。

注意:正如 cmets 中的其他人所提到的,授予 root 远程访问权限会给您的数据库带来很大风险。最好创建一个受限帐户并授予其远程访问权限,然后在您的连接字符串中使用此帐户。

【讨论】:

  • WAMPServer 中的 root 通常只允许从运行 MySQL 的机器连接。如果您在 MySQL 中创建一个允许远程连接的新帐户,并且只允许它访问您希望 VB 代码访问的特定数据库,则更安全一些。或者可能只允许访问数据库中的特定表
  • @RiggsFolly 完全同意。我会更新我的答案来提及这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
相关资源
最近更新 更多