Cygwin подключение к MySQL: не удается подключиться к локальному серверу MySQL через socket '/var/run / mysql.носок

Я только что установил MySQL 5.5.27 на WinXP. Когда я открываю командную строку (Пуск -> Выполнить и введите "cmd"), я могу получить доступ к MySQL, запустив "mysql-u root-p". Однако, когда я открываю терминал Cygwin и пытаюсь сделать то же самое, я получаю эту ошибку

$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2)

действительно, нет " /var/run / mysql.носок " файл.

6 ответов


если вы укажите в командной строке, эта проблема должна уйти:

mysql -u root -p -h 127.0.0.1

вы также можете создать my.ini что MySQL будет использовать:

echo [client] >c:\my.ini
echo user=root >>c:\my.ini
echo host=127.0.0.1 >>c:\my.ini

тогда вы можете просто ввести:

mysql -p

вы даже можете добавить пароль:

echo password="abracadabra" >>c:\my.ini

потом, типа:

mysql

и ты в игре!

Смотрите также https://serverfault.com/questions/337818/how-to-force-mysql-to-connect-by-tcp-instead-of-a-unix-socket


попробуйте добавить это в свою команду:

-h 127.0.0.1

проблема в том, что хост клиента mysql по умолчанию является localhost, и он обрабатывает localhost специально, используя сокет unix, к которому обращаются через этот файл, но ваш сервер не может быть настроен для прослушивания сокета unix.

однако, если вы получаете доступ к тому же серверу через loopback IP 127.0.0.1, он будет использовать TCP-сокет вместо Unix-сокета и (предполагая, что сервер находится в сети) он должен работа.


только чтобы сэкономить несколько keystorkes,

добавьте следующий псевдоним в~/.файл bashrc.

alias mysql='mysql -u root -h 127.0.0.1'

после добавления этого, вы можете просто ввести "mysql" в вашем терминале и там вы идете прямо внутри mysql.


как и большинство людей, упомянутых здесь, одним из решений будет использование псевдонимов. Не нравится им быть честными, потому что они мешают мне изучать некоторые действительно хорошие команды Linux :) это просто шутка. Но лучший способ для вас, как я думаю, будет найти расположенный в вашем домашнем каталоге и кладете туда:

alias mysql="mysql -h 127.0.0.1"

Не забывайте, что вам нужно перезапустить сеанс, чтобы это решение работало, или вы можете ввести bash команда на том же терминале сеанс-он перезагрузит все ваши настройки bash. Удачи!

P. S. Я предлагаю вам закрыть все остальные окна терминала перед редактированием .bashrc потому что вы можете просто получить файл только для чтения. У меня была такая проблема под Win7x64


Я успешно установил MySQL в Cygwin на своем ПК в соответствии с Рафаэлем Хартом. Я создал базу данных и выполнил несколько запросов, и все сработало отлично. На следующий день, когда я попытался войти в MySQL, я получил ошибку:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (111 "Connection refused")

по-видимому, при выключении компьютера службы также получают выключение и не перезагружаются при загрузке. Чтобы устранить проблему, я набрал следующую команду для перезапуска службы mysqld:

$ mysqld_safe &

потом все началось рабочий.


вот как запустить MYSQL от cygwin

Go here:
https://cygwin.rafaelhart.com/setting-up-mysql-on-cygwin/

для начала MySQL setup выполните следующие действия:

mysql_install_db

запустить mysql-вы получите предупреждение брандмауэра от windows, Если у вас есть он активен. mysqld_safe & сразу после этого, было бы разумно выполнить следующее:

mysql_secure_installation