我已经通过phpmyadmin在服务器上添加了一个数据库。我可以通过http://ipaddress/phpmyadmin . 但是,当我尝试使用这些凭据连接到c应用程序上的数据库时,我得到了一个错误:无法检索数据库列表。
我无权访问服务器。我有一个用户谁有权两个数据库,我可以看到当我远程连接到服务器的phpmyadmin。有没有可能我仅仅通过phpmyadmin就有权访问数据库,但是不能通过app访问它,因为mysql禁止我这样做?我手边还有一个覆盆子派。使用它作为数据库服务器是一个更好的选择吗?
1条答案
按热度按时间mfpqipee1#
由于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应用程序。