Mysql не работает после переустановки apache2?

Mysql не работает после переустановки apache2?

Раньше у меня была проблема с файлами .htacess, но я ее исправил, но в процессе я подумал, что было бы неплохо переустановить Apache2. Это исправило все проблемы веб-сервера, но когда я попытался использовать MySQL, он выдал мне эту ошибку:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Пожалуйста, помогите :O. Я согласен переделать все базы данных, но я не могу заставить работать MySQL, так что я, по сути, ничего не могу сделать со своим сервером, пока это не будет исправлено.

Заранее спасибо :)

решение1

Когда у меня возникает такая проблема, я делаю три вещи:

  1. Проверьте, запущен ли процесс mysql. A ps -eдолжно сработать. Для меня не сработало сделать a service mysql stop. Мне пришлось вручную killall mysql.

  2. Проверил, чтобы убедиться, что my.cnf правильно указывает на место, где должен быть файл сокета. Иногда бывает так, что в конфигурации у вас есть /var/run..., но затем в файле конфигурации он говорит что-то другое. То же самое касается места, где должен быть файл my.conf. По умолчанию вы видите его в /etc/mysql/my.cnf, но в других случаях он может быть в /etc/my.cnf (и папки /etc/mysql там не должно быть, чтобы не путать с двумя источниками конфигурации mysql)

  3. Наконец, убедитесь, что каталог, в котором находится файл сокета, имеет правильные права доступа.

В большинстве случаев достаточно 1. Это случается, по крайней мере у меня, когда я делаю какую-то настройку и по ошибке перезагружаю mysql с плохой конфигурацией.

решение2

Ошибка (2002) Невозможно подключиться к ... обычно означает, что в системе не запущен сервер MySQL. Попробуйте перезапустить

~$ 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. =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

Связанный контент