#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 либо извне.