无法使用MySQL Workbench连接管理员账户

3
我有一个运行CentOS 5 Plesk的服务器。我在公共文件夹中安装了更新版本的phpMyAdmin,如果我尝试使用管理员详细信息(整个MySQL服务器的根用户)登录,则一切正常。但是,如果我尝试使用MySQL Workbench相同的用户进行登录,则会显示以下消息:
Failed to Connecto to MySQL at <myip>:3306 with user admin

Access denied for user
'admin'@'<myisphost>.fastwebnet.it' (using password: YES)

我尝试了其他用户,如果我使用旧的认证协议,它们可以工作。所以我尝试使用这个选项,但错误仍然是一样的。 通过SSH终端连接到MySQL一切正常,看起来问题只出现在Workbench中...有什么帮助吗?

1
你也遇到这个错误了吗??“检查管理员是否有权从你的地址连接到127.0.0.1(mysql权限定义哪些客户端可以连接到服务器以及从哪些机器连接)”。 - zzlalani
在弹出的错误中,我没有看到这个错误。 - Fez Vrasta
2个回答

5

第一种情况:

看起来你的管理员账户已被限制只能从本地访问。 使用你的根凭据,通过ssh使用mysql命令登录到MySQL并运行此命令:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'<myisphost>.fastwebnet.it' WITH GRANT OPTION;

这将允许您从您的主机 (<myisphost>.fastwebnet.it) 连接。
要检查您的访问权限:
 SHOW GRANTS;

如果您有类似以下的内容:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '...'

如果你只从localhost 访问(MySQL服务器正在运行的机器),那就只能访问到限制的内容。

你也可以使用这个命令来检查权限:

select user,host from mysql.user;

第二种方法:

第二种方法是使用ssh隧道。

  1. 在创建新连接时,在MySQL Workbench中选择连接方式为“通过SSH的标准TCP / IP”选项。
  2. 填写您的SSH / MySQL凭据。请注意,要使用与localhost相同的MySQL访问选项。

类似于这样:

enter image description here


谢谢,但我没有静态IP,所以无法使用您的解决方案。我该怎么办?也许可以限制对*.fastwebnet.it的访问...我不知道是否可能。或者用SSH做些什么? - Fez Vrasta
使用以下命令GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%.fastwebnet.it' WITH GRANT OPTION;授予管理员在所有数据库和表上的完全权限。 - Arthur Halma
你也可以使用SSH隧道。请查看我的更新答案。 - Arthur Halma

3
在我的情况下,我只是关闭了工作台中所有当前的选项卡,并重新登录。

1
是的,我也做了同样的事情。 - Rudra
1
退出工作台并重新登录,这对我也起了作用。我输入了我的新密码,一切都正常打开了。 :-) - Steve Stilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接