14 ответов:
предполагая, что у вас есть собственная сборка Windows MySQL, существует несовместимость эмуляции терминала между
DOS(командная строка) Windows иbash. Приглашение дляmysqlне появляется.чтобы подтвердить это, введите команду и верните-это, вероятно, будет работать, но приглашение и Эхо команды (то, что вы вводите) теряется.
там может быть обходной путь в любом
CYGWINсвойства системы или вbash, но я никогда не брала самое время разобраться с этим.
я только что наткнулся на это, и когда я прочитал чье-то упоминание о том, что это команда windows/DOS, которую вы запускаете в cygwin, я сделал
which mysqlи это дало мне:$ which mysql /cygdrive/c/Program Files/MySQL/MySQL Server 5.5/bin/mysqlпоэтому я запустил cygwin
Setup.exeискал " mysql "и установил последний"mysql client". Сейчас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в файле конфигурации.
другие ответы не хватает следующих ключ деталь:
в Cygwin имеет две оболочки:
- по умолчанию:
c:\cygwin\bin\mintty.exe- основные:
c:\cygwin\Cygwin.bat(который запускаетc:\cygwin\bin\bash.exe)Win32 MySQL может правильно писать в #2, но не #1, потому что Win32 MySQL не может правильно зондировать stdin (спасибо @PeterNore)
хотите знать, если вы используете Win32 MySQL? Используйте
which, например,$ which mysql /cygdrive/c/Program Files/MySQL/MySQL Server 5.1/bin/mysqlбонус:Cygwin руководство по преодолению проблем пути (спасибо @Dustin)
Я разместил решение / обходной путь здесь:
введите ключ иногда не распознается в приложениях windows под cygwin
запустите bash из cmd.исполняемый файл exe, а затем mysql будет работать внутри bash.
- создать ярлык для cmd.exe на рабочем столе.
- откройте свойства ярлыка и измените каталог запуска на каталог cygwin bin (обычно C:\cygwin\bin).
- добавить " / c bash.exe " до конца команды в целевом параметре.
Это будет работать bash под Windows cmd.exe-среда и при попытке для запуска mysql он будет выполняться так, как вы ожидаете. Это работает под windows 7, но не был протестирован в любой другой версии.
- поместите каталог cygwin bin в переменную path env.
- используйте окно командной строки, выполнив команду cmd
- запустите bash-l в окне cmd
тогда MySQL может быть запущен без проблем.
ответ Свенда Хансена правильный:
установите файлы Windows mysql server (из mysql-5.5.25-win32.msi например)
установите клиент Cygwin mysql с помощью установщика cygwin (setup.exe)
подключение к серверу в окне cygwin с помощью клиента cygwin " mysql-u[user] - p[Password]- h[host]", в моем случае "mysql-uroot-pXXXX-h127.0.0.1"
Я думаю, что когда вопрос была опубликована, настройка cygwin не предоставляла компоненты mysql, которые теперь решаются.
Я создал полу-исправление для этого, которая удовлетворяет меня. Я управлял cygwin.летучая мышь в УМК.exe, затем набрав mysql-все работало нормально.
Я сразу понял, что проблема была Минти.
простое решение? Скачать Console2, и в разделе Настройки вы можете указать это к оболочке cygwin. Перезагрузите Console2, запустите mysql и вывод кажется.
Это выгодно в любом случае, потому что Console2 имеет более надежный интерфейс настройки, чем Mintty. Мне очень нравятся параметры отображения прозрачности и цвета.
Этого:
- просто скопируйте UR mysql.exe от C:\Program Files\MySQL\MySQL Server 5.5\bin
- вставьте этот mysql.exe в C:\cygwin\usr\local\bin
- Теперь запустите какой mysql, он будет
городе ответ Свена Хансена имеет некоторые точки, другое дело путь в переменных окружения-если путь к mysql перед этим из программа
which mysqlпокажет
/cygdrive/c/Program Files/MySQL/MySQL Server 5.5/bin/mysqlв противном случае он покажет клиент cygwin.
как говорится в справочной Википедии:
некоторые программы могут добавить свой каталог в перед пути содержание переменной во время установки, чтобы ускорить процесс поиска и / или переопределить команды ОС.
отказ от ответственности: следующее решило эту проблему для меня под MinTTY на MinGW/MSYS. Из исследований я считаю, что эта же первопричина влияет и на Cygwin.
ответ размещен здесь:https://stackoverflow.com/a/23164362/1034436
в двух словах, вам нужно будет добавить свой
mysqlкоманда с winpty вconsole.exe(или иметь псевдонимы, которые делают это). Это решение работало с уроженца исполняемые файлы Windows MySQL, а не специальные cygwin / MinGW build. Вы, однако, должны скомпилировать winpty, но это было просто и безболезненно, и работало в соответствии с их документацией для меня.Примечание: это также решило мою проблему с несколькими другими собственными консольными приложениями Windows, а именно Python и Mercurial с OpenSSH.
- Скачать Cygwin
установить клиентское приложение mysql
создать псевдоним .bashrc file
псевдоним mysql= 'mysql-h 127.0.0.1'
- выполнить источника .bashrc
теперь вы можете подключиться к mysql
mysql-u user-p
переустановите cygwin и во время переустановки найдите mysql в пакетах, установите клиент mysql, и тогда он будет работать нормально.
нашел этот вопрос сегодня 2018-03-18 ищу некоторые ответы на
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2 "No such file or directory")файл
/etc/my.confссылки config в/etc/my.cnf.dЯ добавил Это к/etc/my.cnf.d/client.cnf:[client] host=127.0.0.1 protocol=tcpпосле этого я смог получить доступ к локальному экземпляру Windows MySQL из терминала cygwin с помощью
mysql -u root -p
Comments