Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
c#:连接到php Mysql数据库_C#_Mysql - Fatal编程技术网

c#:连接到php Mysql数据库

c#:连接到php Mysql数据库,c#,mysql,C#,Mysql,我正在制作一个小的聊天程序。我想用c#从mysql数据库中获取数据。 但我一直在犯错误 An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll Additional information: Unable to connect to any of the specified MySQL hosts. 我试过这个: string MyConString =

我正在制作一个小的聊天程序。我想用c#从mysql数据库中获取数据。 但我一直在犯错误

An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll

Additional information: Unable to connect to any of the specified MySQL hosts.
我试过这个:

string MyConString = "SERVER=localhost;" +
                     "DATABASE=databse;" +
                     "UID=root;" +
                     "PASSWORD=passowrd";
MySqlConnection connection = new MySqlConnection(MyConString);
它成功了。但当我尝试连接到mysql数据库而不是本地主机上的数据库时,我遇到了一个错误,我知道我可以尝试什么

谢谢你试试这个

//create a MySQL connection with a query string
MySqlConnection connection = new MySqlConnection("server=localhost;database=cs;uid=root;password=abcdaaa");

//open the connection
connection.Open();

//close the connection
connection.Close();

您应该检查是否允许远程连接到服务器。你可以找到一些细节

然后,您应该检查您在连接字符串中使用的用户是否具有来自本地主机外部的访问权限。引述答覆:

您尝试连接的用户是否允许从中连接 你的主人?有关这方面的更多信息,请参阅 和 , 具体来说,帐户名的语法是“用户名”@“主机名”。如果 您希望能够从任何计算机连接到给定的帐户, 帐户名将遵循类似“user_name”@“%”的语法,其中% 是与任何主机名匹配的通配符

如果上述任何一项都不起作用,您应该最后检查是否有防火墙规则阻止您访问数据库。这里有更多的细节,但是首先要尝试的是在数据库服务器上远程登录3306端口(如果您的数据库使用默认端口)

PS:我刚刚发现您正在使用root用户帐户连接到数据库。默认情况下,root只能从localhost()登录:

在Windows上,创建的根帐户只允许从本地主机进行连接。可以通过指定主机进行连接 名称localhost或IP地址127.0.0.1。如果用户选择 在安装期间启用从远程计算机的根访问选项, Windows安装程序创建另一个根帐户,允许 来自任何主机的连接

在Unix上,每个根帐户都允许从本地主机进行连接。可以通过指定主机名localhost进行连接, IP地址127.0.0.1,或实际主机名或IP地址


因此,您可能应该从用户访问级别开始调查。如果root用户仅限于localhost,那么最好保持这种状态(出于安全原因),并创建一个新用户,用于从应用程序远程访问数据库(更多详细信息)。

错误消息说什么?远程数据库是否配置为远程访问?您的应用程序是否具有与internet对话的权限?这是我得到的错误:MySql.Data.MySqlClient.MySqlException类型的未处理异常发生在MySql.Data.dll中。其他信息:无法连接到任何指定的MySql主机。这并不能真正回答我的问题。你检查过它是否可以从运行应用程序的机器上访问吗?嗯,MySQL的驱动程序不适用于MS SQL。有些数据库没有配置为允许远程连接,这是我的webhost的问题,每次我想创建一个新的MySQL数据库时,我都必须在远程可管理或否之间进行选择