MySQL пароль работает в терминале, но не в phpMyAdmin? - PullRequest
0 голосов
/ 25 июля 2011

Я могу войти в MySQL через Терминал, используя

mysql -u root -p

. Мне предлагают:

Enter password:

Когда я ввожу пароль, я получаю:

Welcome to the MySQL monitor....

Однако, когда я пытаюсь использовать ту же комбинацию имени пользователя и пароля в phpMyAdmin, я получаю сообщение об ошибке:

#2002 Cannot log in to the MySQL server

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

Ответы [ 3 ]

1 голос
/ 29 июля 2011

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

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

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
1 голос
/ 25 июля 2011

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

0 голосов
/ 25 июля 2011

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

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

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

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

select * from mysql.user;

Хотелось бы, чтобы это помогло.

...