Раньше у меня была проблема, связанная с файлами .htacess, но я ее исправил, но в процессе я подумал, что было бы хорошо переустановить Apache2. Это исправило все проблемы с веб-сервером, но когда я попытался использовать MySQL, он выдал мне эту ошибку:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Пожалуйста, помогите: O. Я в порядке с переделкой всех баз данных, но я не могу заставить MySQL работать, поэтому я практически ничего не могу сделать с моим сервером, пока это не будет исправлено.
Заранее спасибо :))
То, когда у меня есть та проблема, что я делаю, является 3 вещами:
Проверьте, работает ли процесс mysql. A ps -e
должен добиться цели. Для меня это не работало, чтобы сделать a service mysql stop
. Я имел к вручную killall mysql
.
Проверенный, чтобы удостовериться, что my.cnf правильно указывал туда, где файл сокета должен быть. Это иногда происходит, что в конфигурации у Вас есть/var/run..., но затем в конфигурационном файле это говорит что-то еще. То же самое для места, где my.conf файл должен быть. По умолчанию Вы видите его в/etc/mysql/my.cnf, но в других случаях это могло бы быть в/etc/my.cnf (И/etc/mysql папка не должна быть там, чтобы перепутать с 2 mysql источниками конфигурации),
Наконец удостоверьтесь, что каталог, где файл сокета, имеет корректные полномочия.
Большую часть времени 1 будет достаточен. Это происходит, по крайней мере, для меня при реализации некоторой конфигурации, и я по ошибке перезагружаю mysql с плохой конференцией.
Ошибка (2002) не Может соединиться с... обычно означают, что нет никакого сервера MySQL, работающего на перезапуске попытки system.y
~$ sudo service mysql restart
mysql start/running, process 3912
или остановите его и затем запустите его
:~$ sudo service mysql stop
mysql stop/waiting
~$ sudo service mysql start
mysql start/running, process 3994
Необходимо также проверить, что порт TCP/IP, который Вы используете, не был заблокирован брандмауэром или сервисом блокирующего порта. читайте больше здесь.
Проверьте, работает ли сервер на том хосте путем выполнения sudo telnet some_host 3306
и нажатие клавиши Enter пару раз. (3306 номер порта MySQL по умолчанию. Измените значение, если Ваш сервер слушает другой порт.), Если существует выполнение сервера MySQL и слушание порта, необходимо получить ответ, который включает номер версии сервера. Если Вы получаете ошибку такой как telnet: Unable to connect to remote host: Connection refused
, затем нет никакого сервера, работающего на данном порте.
мой, например (на испанском языке):
~$ sudo netstat -a | grep mysql
tcp 0 0 localhost:mysql *:* ESCUCHAR
unix 2 [ ACC ] FLUJO ESCUCHANDO 18740 /var/run/mysqld/mysqd.sock
МОЙ РАБОТАЕТ: НО ПОЗВОЛЬТЕ, ПОСМОТРИТЕ ПУТЕМ ВЫПОЛНЕНИЯ TELNET К МОЕМУ LOCALHOST.=D
~$ sudo telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
E
5.1.61-0ubuntu0.11.10.1"]+Ya]-gQO{<X)_&<:NXConnection closed by foreign host.
marcelo@acer:~$
смотрите на это: http://ubuntuforums.org/showthread.php?t=804021