Я только что столкнулся с этим, и когда я прочитал чье-то упоминание о том, что это команда windows / DOS, которую вы запускаете в cygwin, я сделал which mysql
, и это дало мне:
$ which mysql
/cygdrive/c/Program Files/MySQL/MySQL Server 5.5/bin/mysql
Итак, я запустил cygwin Setup.exe
, искал "mysql" и установил последний "клиент mysql". Теперь which mysql
выглядит так:
$ which mysql
/usr/bin/mysql
И команда MySQL работает в cygwin:)
Хотя это старый вопрос, было бы неплохо получить настоящий ответ здесь, поскольку люди (как и я) все еще могут наткнуться на него.
Если ваши попытки запустить клиент MySQL из Cygwin возвращают следующую ошибку:
$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2)
Затем вы можете исправить это, добавив явные опции -h 127.0.0.1
в командную строку, например:
$ mysql -u root -p -h 127.0.0.1
Обновления на основе комментариев:
Чтобы не указывать -h 127.0.0.1
в командной строке при каждом подключении, вы можете добавить:
[client]
host=127.0.0.1
в файл /etc/my.cnf
В некоторых установках Cygwin указание хоста с -h
может быть недостаточно. Если это так, попробуйте также указать:
--protocol=tcp
или добавить
protocol=tcp
в файл конфигурации.