我已通过phpmyadmin在服务器上添加了一个数据库。我可以通过http://ipaddress/phpmyadmin访问它。但是当我尝试使用这些凭据在C#应用程序上连接到该数据库时,出现错误:无法检索数据库列表。
我无权访问服务器。我有一个有权访问两个数据库的用户,当我远程连接到该服务器的phpmyadmin时可以看到。是否有可能我仅通过phpmyadmin有权访问数据库,但由于mysql禁止使用它而无权通过应用程序访问数据库?我也有一个树莓派。是将它用作数据库服务器吗?
答案 0 :(得分:0)
由于phpMyAdmin在Web服务器上运行,因此大多数人将其安装在运行数据库的同一台计算机上,并通过网络远程访问它。这意味着他们的phpMyAdmin正在与MySQL进行本地通信,通常无需连接就可以离开服务器。另一方面,您的C#应用程序是一个已编译的应用程序,可能会在您的客户端计算机上运行,而不是在服务器上运行-意味着从该应用程序到数据库的任何连接都是通过网络(或Internet,取决于您的配置)进行的。由于暴露MySQL端口通常不是一个好主意,因此您的MySQL可能配置为仅本地侦听,或者您可能具有防火墙或NAT连接,甚至无法访问服务器。在这种情况下,您可能需要重新考虑如何与数据库进行通信(通常公开API是比向世界开放3306端口更好的解决方案)。
您也可能使用两个不同的用户帐户。对于MySQL,单个用户帐户不仅包含用户名,还包含主机名。您可以使用通配符主机名(%
),表示所有主机,除了它实际上是“所有通过TCP / IP网络连接进行连接的主机”。
您的应用程序和phpMyAdmin可能使用两种不同的连接方法;一个使用TCP / IP,另一个使用套接字。检查正在使用哪个phpMyAdmin(最简单的方法是查看phpMyAdmin所连接的主机;“ localhost”是套接字连接,“ 127.0.0.1”是网络连接)。以相同的方式配置C#应用程序。