MySql数据库连接问题

时间:2013-02-16 17:32:47

标签: c# asp.net mysql

我有一个连接到mysql数据库的ASP.NET应用程序。如果在服务器上我在visual studio(使用开发服务器)中运行网站,它可以正确连接到mysql数据库。

但是,如果在同一台服务器上我使用IIS,则抛出异常'Unable to connect to any of the specified MySQL hosts'。它配置为使用标识为'ApplicationPoolIdentity'的应用程序池。

连接字符串如下:

<add name="MYSQLConnectionString" connectionString="uid=name;server=111.11.111.111;Pwd=password;database=dbname" providerName ="MySql.Data.MySqlClient"/>

可能是什么问题?

2 个答案:

答案 0 :(得分:0)

使用Visual Studio进行调试时,该帐户是本地管理员,并且拥有最有可能的权限。 IIS默认应用程序池帐户没有这些提升的权限。确保运行IIS站点应用程序池的帐户具有正确的权限,或者临时将帐户更改为本地系统以查看它是否与permssions相关。您可以使用FileMon来跟踪默认帐户无法访问的文件或注册表项。

[编辑]

很有可能你将MySQL安装到像C:\MySQL这样的地方,你只需要授予IIS应用程序池帐户对该目录的读访问权限,可能还有一两个注册表项。

答案 1 :(得分:0)

该站点未安装在根目录中,而是作为默认网站中的应用程序安装。如果我们将它作为根站点运行,它就可以运行。不知道究竟为什么。