Сервер MySQL сообщает о правильном запуске, но возвращает ошибки при попытке подключения

#mysql #wamp

#mysql #wamp

Вопрос:

Я пытаюсь настроить свою локальную среду разработки, для которой я использую очень простой в установке пакет «WAMP».

Теперь я устанавливаю wamp, запускаю его и запускаю все службы, пытаюсь подключиться к серверу MySQL, но получаю сообщение об ошибке:

 SQL Error (2003): Can't connect to MySQL server on 'localhost' (10060)
 

Не имеет значения, пытаюсь ли я это через SQL-клиент или PHP, и я несколько раз пытался переустановить.

Поэтому я решил взглянуть на файл mysql.log после запуска, и вот что я получаю:

 111024 22:57:41 [Note] Plugin 'FEDERATED' is disabled.
111024 22:57:41 InnoDB: The InnoDB memory heap is disabled
111024 22:57:41 InnoDB: Mutexes and rw_locks use Windows interlocked functions
111024 22:57:41 InnoDB: Compressed tables use zlib 1.2.3
111024 22:57:41 InnoDB: Initializing buffer pool, size = 128.0M
111024 22:57:41 InnoDB: Completed initialization of buffer pool
111024 22:57:41 InnoDB: highest supported file format is Barracuda.
111024 22:57:41  InnoDB: Waiting for the background threads to start
111024 22:57:42 InnoDB: 1.1.8 started; log sequence number 1595675
111024 22:57:42 [Note] Event Scheduler: Loaded 0 events
111024 22:57:42 [Note] wampmysqld: ready for connections.
Version: '5.5.16-log'  socket: ''  port: 3306  MySQL Community Server (GPL)
 

Предпоследняя строка с надписью «wampmysqld готов к подключениям» указывает, что он должен работать, что меня смущает…

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

Комментарии:

1. Проверьте, не прослушивает ли «какая-либо программа» порт 3306 на вашем ПК, используя (просто пример) netstat -a

2. При запуске сервера MySQL возвращается строка с надписью «TCP 0.0.0.0:3306 MyPcName: 0 ПРОСЛУШИВАНИЕ», но если я выключу сервер MySQL, ничего не возвращается о порту 3306…

3. Хорошо, это означает, что mSQL запускается и прослушивает этот порт (правильно). Попробуйте (из командной строки) mysql -u root -p и посмотрите, сможете ли вы подключиться…

4. Это возвращает ошибку, как указано выше: imgur.com/gxonB

5. Хорошо, попробуйте подключиться к своему компьютеру с другого компьютера в той же сети с помощью mysql -h your_network_ip -u root -p

Ответ №1:

Теперь меня это беспокоит уже довольно давно, но я считаю, что теперь я нашел решение.

Я сделал все, начиная с удаления всего, что смог найти, содержащего «mysql», из файлов в базу данных реестра, но даже при этом ничего не помогло.

В итоге я даже использовал виртуальную машину в качестве временного решения, но поскольку она изменила IP, мне пришлось отредактировать my.cnf , и именно здесь я понял my.ini , что пропустил bind-address значение.

Решение оказалось раздражающе простым, хотя я не совсем уверен, что именно это сделало.

В любом случае, я закончил редактирование некоторых вещей в my.ini , я отредактировал эти строки:

 [client]
socket      = /tmp/mysql.sock

[wampmysqld]
socket      = /tmp/mysql.sock
log-bin=mysql-bin
 

Я прокомментировал log-bin строку, отредактировал socket строки и добавил bind-address , чтобы она выглядела так:

 [client]
socket      = C:/wamp/mysql.sock

[wampmysqld]
socket      = C:/wamp/mysql.sock
bind-address = 127.0.0.1

#log-bin=mysql-bin
 

Как я уже сказал, не уверен, что это сделало, но если по какой-то причине у вас такие же проблемы, что-то из этого может сработать для вас.

Ответ №2:

В Windows 7 «localhost» по умолчанию не разрешается локально.

Предполагая (большое предположение!) вы используете Windows 7, вам нужно сделать одну из двух вещей:

  • либо используйте mysql -h hostname -u root -p (используя ваше собственное имя хоста), чтобы он правильно разрешал хост
  • …или раскомментируйте строку, содержащуюся 127.0.0.1 в вашем файле hosts (c:windowssystem32driversetchosts )

Второй вариант позволит использовать хост по умолчанию «localhost», когда вы делаете mysql -u root -p это без указания имени хоста.

Комментарии:

1. Открывая мой файл «hosts», я вижу четыре строки с надписью «127.0.0.1 localhost». Кроме того, я не могу подключиться к 127.0.0.1 либо извне.