我使用openshift创建了一个免费应用程序,并创建了MySQL和phpmyadmin墨盒,在phpmyadmin中,我允许所有具有所有特权的用户访问,现在的问题是,当我试图从本地MySQL工作台连接时,我会连接到,但是我看不到我在远程服务器上使用phpmyadmin创建的表,而且我也不能做任何操作,比如创建模式或表。
错误1044:拒绝用户“@”localhost的访问
请记住,我允许任何用户的所有特权,但是除了数据库连接之外,我仍然拒绝任何操作的访问。
发布于 2015-05-07 14:50:58
确保您所授予的完全权限的用户是同一个用户MySQL工作台连接的--例如,主机%和localhost之间有一个区别。在MySQL工作台上,发出"Status“命令,并将用户名和主机与您配置的用户名和主机进行比较。
很明显,您是通过“localhost”进行连接的,因此您必须为具有主机本地主机的匿名用户提供完全的权限(或者将连接类型更改为tcp,以便您的连接是通过127.0.0.1而不是通过localhost)。
编辑需要进一步澄清: MySQL权限结构对不同类型的连接的处理方式不同;通过MySQL连接连接的客户端似乎总是来自IP地址,即使它来自“本地主机”(在同一台机器上),在这种情况下,传入连接的IP地址可能为127.0.0.1。套接字类型连接在MySQL中注册为来自主机"localhost“(在本例中为字面意思)。这就是为什么我们要验证哪个主机MySQL工作台连接为。
不同的连接类型与MYSQL不同,即使它们来自同一台“本地机器”。此外,通配符主机不包括“localhost”套接字连接,它们是权限字段中具有“localhost”主机名的单独条目;通配符不适用,正如我前面解释的那样。这就是为什么我们要检查您根据MySQL工作台连接的内容设置了哪些权限;这是造成类似这些困难的最常见的原因。
https://stackoverflow.com/questions/29989111
复制相似问题