2

无论我在我的 bluehost 连接服务器上的 shell 中输入什么 mysql 命令,我都会遇到以下错误。

ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)

我试过的最简单的命令可以解决这个错误是

mysql -u myuser -pMypass
ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)

我 100% 确定用户和密码是正确的,因为我尝试了几个不同的用户。我尝试向每个用户授予所有权限。我尝试以我的 root 用户身份执行。我也尝试过使用 -e 进行简单查询。

有谁知道是否有一个全局设置阻止我使用最简单的命令?

我可以使用 PuTTy 访问并且可以正确查看/编辑我的文件。

编辑:::: SOLUTION:::: 我的密码包含一个需要转义的'$'....

4

1 回答 1

3

当你跑

mysql -u myuser -p

并得到了这个错误

ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)

mysqld 期待您以myuser@localhost

尝试创建myuser@localhost

CREATE USER myuser@localhost IDENTIFIED BY 'passpass';
grant all privileges on *.* to myuser@localhost with grant option;

如果要远程连接,则必须使用 TCP/IP 指定 DNS 名称、公共 IP 或 127.0.0.1:

mysql -u myuser -p -hmydb@mydomain.com
mysql -u myuser -p -h10.1.2.30
mysql -u myuser -p -h127.0.0.1 --protocol=TCP

登录后,请运行此

SELECT USER(),CURRENT_USER();

USER()报告您如何尝试在 MySQL 中进行身份验证

CURRENT_USER()报告您是如何被允许从mysql.user表在 MySQL 中进行身份验证的

这将使您更好地了解允许您登录 mysql 的方式和原因。为什么知道这个观点很重要?它与用户身份验证排序协议有关。

于 2012-12-21T23:40:29.127 回答