从C#应用程序访问mysql远程服务器
本文关键字:服务器 mysql 访问 应用程序 | 更新日期: 2023-09-27 18:01:11
我已经完成了一个小型的C#Win Forms应用程序,它使用mySQLconnector连接到mySQL数据库。这与我的本地主机完全兼容。
String ConnectionString = "server=xx.xxx.xx.xxx;uid=myuserid;pwd=mypassword;database=dbname";
但当我尝试连接到远程服务器时,确实会出现以下错误:无法连接到任何指定的MySQL主机。{"由于目标机器主动拒绝,无法建立连接xx.xxx.xxx:3306"}
我已经从命令提示符ping到了服务器,并得到了响应。我还验证了远程服务器数据库中的mySQL服务器设置(正确的名称/ip,端口号:3306,跳过网络:关闭(
远程服务器可以从运行php脚本并使用与我上面列出的连接字符串相同的设置的web服务器访问,而不会出现任何问题。
mySQL服务器托管在外部共享托管公司123reg.co.uk上,我使用连接字符串中相同的uid/passwd登录phpmyadmin。我不明白Web服务器访问正常,但我的C#应用程序出现问题有什么不同??
有人能帮忙吗。。。
提前感谢Sam
我在服务器设置方面遇到了问题,所以他们不接受远程连接。这主要是出于安全原因。有些地方会允许您在CP中启用它,但如果您可以直接访问服务器,则应该能够执行这些步骤。
http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely
您的ip地址将与web服务器不同。如果你的ip地址是静态的,你可以在mysql数据库中授权访问你的ip(https://www.google.com.au/search?q=mysql+授予+访问权限+到+用户+来自+主机(。我建议使用服务器访问数据库,并使用ajax/json调用使您的c#应用程序与您的Web服务器对话(https://www.google.com.au/search?q=C%23+Win+Forms+ajax+json(-这样您就不需要绑定到ip地址进行访问。或者,如果远程shell访问可用,您可以考虑设置到Web服务器的ssh隧道,以便获得与Web服务器相同的访问权限。(https://www.google.com.au/search?q=ssh+tunnels+example+mysql这就是我自己做的(