我试图安装一个基于PHP的工具,它连接到Ubuntu上托pipe的MySQL数据库。 我可以从命令行login到MySQL数据库,但是运行应用程序导致这个错误:
Access denied for user '[user]'@'localhost' (using password: YES)
我所做的:使用这个讨论的指导,这里有一些我已经采取的故障排除步骤。
试图通过Telnet连接到MySQL导致这个乱码:
$ telnet 127.0.0.1 3306 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. A 5.1.41-3ubuntu12.10XIs(ja&7FyO`r>zpDAY{Connection closed by foreign host.
我的/etc/hosts.deny文件是空的。 我已经将以下行添加到我的/etc/hosts.allow文件中:
mysqld:ALL:ALLOW mysqld-max:ALL:ALLOW
尽pipe我的/etc/mysql/my.cnf文件中的bind-address被设置为127.0.0.1 ,但是我没有注意到这一点。
禁用防火墙
冲洗特权
应该指出的是,我使用以下命令在每个步骤之后重新启动了MySQL:
mysqladmin -u [user] -p shutdown mysqld_safe &
我错过了什么?
如果mysqlpipe理员工作客户端程序工作?
如果客户端程序工作的一个可能性是mysql客户端库已过期,需要更新。 (我更熟悉RedHat,但它可能是像sudo apt-get update php-mysql ..不是100%确定该包名)
另外请确保您使用的是您设置用户的确切名称。 如果将用户设置为user@localhost则可能无法使用[email protected]
希望有所帮助
尝试这个
mysql >GRANT ALL ON [database name].* TO [user]@'127.0.0.1' IDENTIFIED BY '[PASSWORD]';