Опубликовано: 01.03.2017
Клиент MySQL на Unix может объединиться с сервером mysqld 2-мя разными методами: используя или Unix-сокеты, когда соединение происходит через файл в файловой системе (по дефлоту /tmp/mysqld.sock), или TCP/IP с соединением через номер порта. Unix-сокеты обеспечивают огромную скорость, чем TCP/IP, но могут применяться только при соединении с сервером на том же компьютере. Unix-сокеты употребляются, если не задано имя хоста либо если задано особое имя localhost.
В Windows, если сервер mysqld производится в 9x/Me, может быть соединение только через TCP/IP. Если сервер работает на NT/2000/XP и mysqld запущен с --enable-named-pipe, то можно также устанавливать соединение при помощи именованных каналов. Имя именованного канала - MySQL. Если имя хоста не обозначено при соединении с mysqld, то клиент MySQL поначалу попробует подключиться к именованному каналу, а если этого сделать не получится, то к порту TCP/IP. Можно предписать внедрение именованных каналов в Windows, используя . в качестве имени хоста.
Ошибка (2002) Can't connect to ... обычно гласит о том, что MySQL не запущен на данной системе либо что при попытке объединиться с сервером mysqld употребляется неправильный сокет-файл либо порт TCP/IP.
Для начала проверьте (при помощи ps либо диспетчера задач в Windows), производится ли на сервере процесс с именованием mysqld! Если процесса mysqld нет, то его нужно запустить (see Раздел 2.4.2, «Трудности при запуске сервера MySQL»).
Если процесс mysqld производится, то можно проверить сервер, пробуя использовать последующие разные соединения (естественно, номер порта и путь сокета для вашей конфигурации могут быть другими):