连接到mysql和@localhost似乎是一个众所周知的问题:
连接时间:
mysql -uadmin2 -p
在(重复@localhost)
时不连接$ mysql -uadmin2@localhost -p
Enter password:
ERROR 1045 (28000): Access denied for user 'admin2@localhost'@'localhost' (using password: YES)
下面是特定用户的mysql.user。
mysql> select * from mysql.user where user='admin2'\G
*************************** 1. row ***************************
Host: localhost
User: admin2
Password: *ECED01ACC1794471BCD067ECFEF085F99EDBFA23
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
1 row in set (0.00 sec)
显示来自dbVisualizer的错误的屏幕截图:
我尝试了在他们的论坛上推荐的内容,这是其他人抱怨相同的
grant all privileges on *.* to 'admin3'@'%' identified by 'mypass' with grant option;
但为他们工作但不是我!
FWIW它的MAMP运行版本5.5.33的mysql。 我已经刷新了权限,尝试使用ip地址,左侧字段为空(如截图所示),查看类似的解决方案here,现在已经没有想法了。
任何人都有任何进一步的建议,那么我将非常感激。
由于
凯文
答案 0 :(得分:1)
重复的用户名不是有用的信息,您只是无法在命令行设置用户主机名,而不是它的工作方式。它是根据您要连接的主机名设置的。这是有道理的,您不希望我尝试通过互联网从我的计算机连接到您的服务器' admin2 @ localhost'进去。
可能有一件事情是MySQL有不同的权限通过localhost(通过本地计算机上的套接字文件完成)与127.0.0.1(通过网络通过TCP完成)进行连接,你可以除了localhost
之外,我必须为%
的用户明确添加权限(我的回忆有模糊):
grant all privileges on *.* to 'admin3'@'localhost' identified by 'mypass' with grant option;
此外,我刚刚注意到您正在向admin3授予权限,但尝试使用admin2登录 - 如果这是您在现实中所做的事情,那么您肯定会遇到问题。< / p>
其他想法:admin2是否拥有您尝试连接的数据库的权限?我注意到你使用的是非标准端口(8889),但未在命令行连接中指定(尽管它可能在某些配置文件中),但事实上你正在获取&# 34;访问被拒绝&#34;而不是无法连接表明这不是问题。
仔细检查密码,查看日志,尝试其他客户,但这不是任何着名的&#34;问题我没想到。
有关localhost与127.0.0.1的详细信息,请参阅this SO question。