mysql密码在终端中工作,但不在phpMyAdmin中?

时间:2011-07-25 02:54:53

标签: mysql phpmyadmin osx-snow-leopard

我可以使用

通过终端登录mysql
mysql -u root -p

我被提示:

Enter password:

当我输入密码时,我得到:

Welcome to the MySQL monitor....

然而,当我尝试将相同的用户名/密码组合用于phpMyAdmin时,我得到了rror:

#2002 Cannot log in to the MySQL server

注意:我正在使用Snow Leopard

3 个答案:

答案 0 :(得分:1)

我认为在远程主机上默认禁用root(考虑到你的mysql服务器和你的http服务器在不同的主机上),或者远程root密码与localhost上的密码不同(同样的原因)。 创建一个新的管理员用户而不是远程使用root会更好(新的用户名显然不太容易猜到)。

答案 1 :(得分:1)

因为我在Snow Leopard,所以我必须做以下事情。

打开终端

cd /etc/
sudo nano php.ini // or php.ini.default
Password: (enter my password)

用以下内容替换var / mysql / mysql.sock:

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

然后在终端

sudo apachectl restart

答案 2 :(得分:0)

在您的数据库中没有为phpMyAdmin配置 controluser 时可能会发生这种情况。

默认情况下,它就像下面的配置文件一样。

$cfg['Servers'][$i]['controluser'] = 'pma';

您还可以通过以下查询检查现有数据库用户:

select * from mysql.user;
希望它会有所帮助。