Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从IP连接到MySQL数据库?_Mysql_Vb.net_Wamp - Fatal编程技术网

如何从IP连接到MySQL数据库?

如何从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

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

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

但是我想知道如何从IP直接访问MySQL base wamp来运行VB脚本

事实上,在我的VB文件中,我将其设置为连接:

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)
安装NuGet软件包是推荐的方法,因为这样可以更轻松地管理您的软件包并使其保持最新,但如果不想这样做,您可以从上面的NuGet链接下载该软件包,或者直接从中提取MySql.Data.dll文件,将其放在bin文件夹中,并在项目中添加对它的引用

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

"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完全同意。我会更新我的答案,提到这一点。