如何从IP连接到MySQL数据库?
我在我们公司的内部网络上安装了一个虚拟机 我使用Wamp托管一个网站,以便公司的其他成员可以访问它 但是我想知道如何从IP直接访问MySQL base wamp来运行VB脚本 事实上,在我的VB文件中,我将其设置为连接:如何从IP连接到MySQL数据库?,mysql,vb.net,wamp,Mysql,Vb.net,Wamp,我在我们公司的内部网络上安装了一个虚拟机 我使用Wamp托管一个网站,以便公司的其他成员可以访问它 但是我想知道如何从IP直接访问MySQL base wamp来运行VB脚本 事实上,在我的VB文件中,我将其设置为连接: con.ConnectionString = "DRIVER = {MySQL ODBC 3.51 Driver};" & "SERVER = localhost;" & "DATABASE = mydatabase;" & "UID = root; P
con.ConnectionString = "DRIVER = {MySQL ODBC 3.51 Driver};" & "SERVER = localhost;" & "DATABASE = mydatabase;" & "UID = root; PWD =; OPTION = 3"
我打开了虚拟机的端口,并在文件C:\wamp\bin\mysql\mysql5.7.19\my.ini
中添加了以下行:
bind-address = [my_server_ip]
但它没有连接。我还应该做什么?不要使用ODBC驱动程序,请按照以下步骤在项目中安装:
- 右键单击解决方案资源管理器中的项目
- 从关联菜单中,选择管理NuGet软件包
- 在NuGet Package Manager中,单击浏览选项卡
- 搜索MySql.Data(由Oracle提供)
- 在搜索结果中,选择MySql.Data(由Oracle提供)
- 单击安装按钮安装最新版本(撰写此答案时为6.10.6)
"DefaultDB": "Server=127.0.0.0;Database=mydatabase;User ID=;Password=;"
将IP更改为VM的IP,当然还有数据库名称、用户名和密码
注意:正如其他人在评论中提到的,授予
root
远程访问权限会给您的数据库带来很大的风险。最好创建一个受限帐户并授予其远程访问权限,然后在连接字符串中使用此帐户。您应该使用MySQL NET Connector。你可以找到它。您可以找到它的文档和参考列表。如果您想查看代码示例,也可以查看。1)将localhost
更改为VM的ip地址2)在MySQL中设置允许从远程ip地址连接的用户帐户。默认情况下,root
仅允许从运行MySQL的计算机进行连接3)在VB代码中使用此新MySQL帐户进行连接。PS不要更改root
以允许从远程IP进行连接。这是一个重大的安全隐患谢谢你RiggsFoll,我更改了数据库的用户名,它成功了@Rocstar是的,它与ODBC 3.51驱动程序一起工作,但它确实很旧,有很多问题,您不应该使用它。请改用本机.Net驱动程序。WAMPServer中的root
通常只允许从运行MySQL的机器进行连接。如果您在MySQL中创建一个允许远程连接的新帐户,并且只允许它访问您希望VB代码访问的特定数据库,则会更加安全。或者,甚至只允许访问一个或多个数据库中的特定表database@RiggsFolly完全同意。我会更新我的答案,提到这一点。