MySQL:只能从命令行或以 root 身份登录

MySQL:只能从命令行或以 root 身份登录

在过去的 3 个小时里,我一直在尝试解决这个问题。我刚刚在专用根服务器上设置了一个 MySQL 服务器,运行的是 Ubuntu 14.04-minimal。我可以在任何地方以 root 身份登录,没有任何问题 - 它在命令行、phpMyAdmin 或 php-Script 上都可以正常工作。

因为我不想以 root 用户身份使用所有脚本,所以我使用以下命令创建了一个新脚本:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON *.*
'myUser'@'localhost' IDENTIFIED BY 'myPassword';

用户已成功创建,我可以从命令行使用密码登录。但是,似乎无法使用 root 以外的其他用户从以下位置访问 MySQL不是命令行。

起初我以为这可能是常见的主机问题,你必须使用两个都 %localhost在 mysql.user 数据库中,以便从控制台外部访问它。但这不起作用。我甚至添加了 root 用户也拥有的两个主机条目(hostname::1),但我总是得到典型的Error #1045 - Cannot Log in to MySQL server。我还尝试过直接在我的脚本(或 phpMyAdmin)中连接到服务器的 IP 地址或 127.0.01 而不是 localhost - 但没有成功。

目前的状态如下:

  • root从控制台登录:有效。
  • 像其他任何方式一样登录root:有效。
  • myUser从控制台登录:有效。
  • 以任何其他方式登录myUser不起作用

有谁知道什么可能导致这个问题?

答案1

最后,这是回复,(见评论)。我把它放在这里是为了标记问题已回答。密码中的某些特殊字符可能无法被 php 正确转发。尝试使用常规密码(ASCII 7 位设置,无控制字符)。

相关内容