2011-07-25 1 views
0

я могу войти в MySQL через терминал, используяmysql password работает в Terminal, но не в phpMyAdmin?

mysql -u root -p 

Я запрошено:

Enter password: 

Когда я вписываю пароль я получаю:

Welcome to the MySQL monitor.... 

Однако, когда я попробуйте ввести одно и то же имя пользователя/пароль в phpMyAdmin. Я получаю rror:

#2002 Cannot log in to the MySQL server 

Примечание: Я использую Snow Leopard

+0

Это принадлежит на serverfault.com как это не имеет никакого отношения к программированию. –

ответ

0

Поскольку я нахожусь в Snow Leopard, мне пришлось сделать следующее.

Открыть терминал

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

И заменить вар/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 
1

Я думаю, что либо корень по умолчанию отключен на удаленном хосте (с учетом, что ваш MySQL сервер и сервер HTTP находится на другом хосте), или удаленный корень пароль отличная от той, что указана на localhost (по той же причине). Было бы лучше создать нового администратора, а не использовать root удаленно (новое имя пользователя, очевидно, будет менее легко угадать).

0

Это может произойти, когда controluser настроен для phpMyAdmin в вашей базе данных.

По умолчанию это похоже на файл конфигурации.

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

Вы также можете проверить существующие базы данных пользователей с помощью следующего запроса:

select * from mysql.user; 

Желание это поможет.