Я использую MySQL 5.0.75-0ubuntu10.5 на Ubuntu 9.04 Jaunty. Когда я пытаюсь войти в MySQL как root
# mysql -u root -h localhost -padmin
Я получаю следующую ошибку
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)
Но если я попробую использовать phpmyadmin
http: // локальный / phpmyadmin Я могу войти, используя те же учетные данные.
В таблице mysql.user есть 3 записи для пользователя "root" с 3 разными хостами.
Зашифрованный пароль для всех этих трех записей идентичен. Я пробовал все 3 имени хоста с -h
аргумент, все равно не повезло.
Есть указатели?
Попробуйте вместо этого подключиться к localhost, используя TCP, со следующим дополнительным аргументом командной строки:
--protocol=TCP
Вы также можете убедиться, что у вас правильный файл сокета, проверив /etc/my.cnf:
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
Если это указывает на другой сокет, чем тот, который указан в вашей ошибке, вы можете указать его в командной строке с помощью --socket=path
, т.е. --socket=/var/lib/mysql/mysql.sock
.