Сервер не отвечает либо локальный сокет сервера mysql неверно настроен

Обновлено: 07.07.2024

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Пробуйте вручную запустить сервис MySQL из служб. Если при запуске будут выводиться ошибки, то покажите их.

Если сервис запускается, то пробуйте подключиться из командной строки, вместо pass введите пароль пользователя root:

Пробуйте вручную запустить сервис MySQL из служб. Если при запуске будут выводиться ошибки, то покажите их.

Если сервис запускается, то пробуйте подключиться из командной строки, вместо pass введите пароль пользователя root:

Это означает, что сервис MySQL не найден. Изначально для MySQL используется порт 3306, возможно он закрыт брандмауэром. Пробуйте отключиться от Интернета, выключить антивирус и брандмауэр и снова подключиться из командной строки.

5 Ответ от s-kAn 2011-04-27 11:47:11 (изменено: s-kAn, 2011-04-27 11:47:31)

Это означает, что сервис MySQL не найден. Изначально для MySQL используется порт 3306, возможно он закрыт брандмауэром. Пробуйте отключиться от Интернета, выключить антивирус и брандмауэр и снова подключиться из командной строки.

Ошибка «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/run/mysqld/mysqld.sock’ (2 «No such file or directory»)» (РЕШЕНО)

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

Вариант на другом дистрибутиве (отличается путь до файла mysqld.sock):

Ошибка означает, что не получается подключиться к MySQL серверу через сокет /run/mysqld/mysqld.sock, поскольку данный файл просто не существует.

Эта ошибка может возникнуть при использовании примерно следующей команды:

Причём она одинакова и для MySQL и для MariaDB.

Убедитесь, что MySQL/MariaDB сервер установлен

В первую очередь убедитесь, что СУБД MySQL или MariaDB вообще установлены.

Пакет может называться mysql-server или mysql. Если вы выбрали MariaDB вместо MySQL, то пакет называется mariadb-server или mariadb.

Пакеты mysql-client или mariadb-clients или какие-то ещё НЕ подходят! Это только клиенты для подключения, но не сам сервер.

На Ubuntu, Linux Mint и других дистрибутивах из этой семьи для установки выполните:

sudo apt install mysql-server

Убедитесь, что служба MySQL/MariaDB запущена

Файл /run/mysqld/mysqld.sock создаётся когда MySQL или MariaDB сервер установлен и запущен. Поэтому проверим статус сервера следующей командой (подходит и для MySQL, и для MariaDB):

systemctl us mysqld.service

Должен быть статус active (running).

Если служба не запущена, то запустите её командой:

sudo systemctl start mysqld.service

После этого проверьте статус службы

Добавления службы в автозагрузку (чтобы не пришлось её запускать при каждом включении компьютера, выполните следующую команду):

sudo systemctl enable mysqld.service

Убедитесь, что служба MySQL/MariaDB настроена правильно

Если причина проблемы оказалась в том, что служба не запущена и после попытки запуска служба вновь оказалась неактивной, значит проблема может быть в неправильной настройке сервера MySQL/MariaDB.

Файлы конфигурации (настроек) MySQL и MariaDB могут размещаться в разных директориях, например:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /var/lib/mysql/my.cnf

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

На что стоит обратить внимание в конфигурационных файлах

Если вы хотите сохранить оба конфигурационных файла, то проверьте, чтобы значение socket было одинаковым. Также для bind-address должен быть установлен правильный IP адрес. Если к этому серверу подключаются только приложения, которые запущены на этом же сервере, то в качестве значения bind-address нужно прописать localhost или 127.0.0.1

Перезапустите службу mysqld

Попробуйте просто перезапустить службу командой:

sudo systemctl restart mysqld.service

Либо следующим образом, значала узнайте PID (идентификатор) процесса mysql:

ps -ef | grep mysql

Затем выполните следующую команду, в которой вместо [PID]​ укажите число, полученное из предыдущей команды:

Затем вновь запустите службу:

sudo systemctl start mysqld.service

Неправильные права на файл /run/mysqld/mysqld.sock

Затем сделайте пользователя mysql владельцем этого файла:

chown mysql /run/mysqld/mysqld.sock

Установите правильные права на этот файл:

sudo chmod 755 /run/mysqld/mysqld.sock

Вновь попробуйте запустить сервис:

sudo systemctl start mysqld.service

Проблемы запуска службы из-за несовместимой настройки apparmor

Если при запуске службы вы получаете ошибку и вы используете профили apparmor, проверьте, чтобы профиль apparmor позволял процессу mysqld иметь доступ в необходимую для него директорию.

Несовместимость может быть вызвана, к примеру, файл сокета для MySQL настроен на сохранение по пути /run/mysqld/mysqld.sock, но в профиле apparmor дано разрешение на /var/run/mysqld/mysqld.sock

Чтобы убедиться, что дело именно в apparmor, попробуйте отключить его:

sudo aa-complain /etc/apparmor.d/*

Если проблема исчезла и служба mysqld запустилась, значит нужно поверить разрешения для mysqld и добавить необходимые пути.

К примеру для показанного примера решением проблемы является добавление в /etc/apparmor.d/usr.sbin.mysqld строк:

/run/mysqld/mysqld.pid rw, /run/mysqld/mysqld.sock rw,

Служба mysqld не может запуститься из-за отсутствия места на диске

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

Освободите пространство на диске и перезапустите службу.

Служба mysqld не может запуститься так как порт 3306 используется другой программой

По умолчанию служба mysqld использует порт 3306 если этот порт использует другой процесс, то это является препятствием для запуска MySQL и в конечном счёте появляется рассматриваемая ошибка.

Для решения проблемы выясните, какая служба прослушивает порт 3306. Например, это можно сделать командой:

sudo lsof -Pn -iTCP:3306

А затем остановите эту служу и удалите её из автозагрузки.

Вместо localhost попробуйте использовать 127.0.0.1

Вместо localhost в примерно такой команде:

mysql -u myuser -pmypassword -h localhost mydatabase

mysql -u myuser -pmypassword -h 127.0.0.1 mydatabase

(также обратите внимание на отсутствие пробела между -p и mypassword)

Служба mysqld не запускается из-за недоступности файлов баз данных

Ещё одной причиной может стать то, что вы переместили файлы с базами данных, но не изменили пути в соответствующих файлах настройки MySQL. Выполните правильно настройку и перезапустите MySQL или MariaDB.

Неверно указан хост для подключения

Для указания удалённого хоста используется опция -h. Из-за привычки указывать хост после имени пользователя через знак @ (как это делается, например, для SSH), либо указывать удалённый хост без опции -h, команда может оказаться неверной в том плане, что вместо подключения к удалённому хосту, вы пытаетесь подключиться, например, к своей собственной системе, на которой служба MySQL не установлена.

Кстати, для указания имени пользователя используется опция -u. Если пароль отличается от стандартного, то используется опция -P (заглавная буква). Опция -p (прописная буква) используется для указания базы данных, которая выбирается для использования.

mysql -h 127.0.0.1 -P 3306 -u root -p <database>

Служба mysqld по умолчанию не добавляется в автозагрузку на некоторых дистрибутивах

Помните, что на некоторых дистрибутивах (например, производных Arch Linux, на Kali Linux) даже после установки MySQL или MariaDB они не добавляются в автозагрузку и не запускаются по умолчанию.

Для запуска службы и её авто старта при последующих включениях компьютера выполните команды:

sudo systemctl start mysqld.service sudo systemctl enable mysqld.service

Заключение

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

Проблема при запуске phpMyAdmin

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

1 Тема от maxim_1 2013-07-17 18:34:28 (изменено: maxim_1, 2013-07-17 18:39:33)

Тема: Проблема при запуске phpMyAdmin

Приветствую !Подскажите пожалуйста в чём проблема ?

Запускаю phpMyAdmin и вылезает вот что:

Ответ MySQL: Документация

Сервер не отвечает (либо локальный сокет сервера MySQL неверно настроен).

Ошибка при указании соединения для controluser в конфигурации.

P.S. локальный сервер Денвер , антивирус не блокирует ,skype нет.

Вероятно MySQL не запущен, либо для controluser указаны не верные настройки. Попробуйте для controluser прописать root с пустым паролем и затем очистите куки браузера.

Благодарю за ответ . И просьба не могли бы по конкретней описывать порядок действий. Я новичок в этом ) .

Я сделал root с пустым паролем и затем очистите куки браузера. И теперь появилась другая ошибка.

Ответ MySQL: Документация

Соединение невозможно! Неверные настройки.

phpMyAdmin не смог установить соединение с сервером MySQL. Проверьте хост, имя пользователя и пароль установленные в конфигурационном файле config.inc.php и удостоверьтесь, что они соответствуют данным полученным от администратора сервера MySQL.

Покажите исправленный config.inc.php. Возможно где-то ошибка.

Попробуйте поменять эту строку:

но потом вылезает панель авторизации .

в вожу имя root и пароль 12345

Ошибка при указании соединения для controluser в конфигурации.

вожу имя root и пароль 12345

Вы устанавливали такой пароль для root? Обычно в Денвере идет пустой пароль. Только controluser вы так и не поменяли.

Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 18 окт 2014, 22:41

Поставил Денвер, и такая вот петрушка, вроде все установилось, но….

Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 19 окт 2014, 13:20

Вообще, когда Денвер запускаешь, mysql сервер стартует?

Попробуй, отключив Антивирус и Брандмауэр запусти Денвер.

Для начала посмотри в диспетчере задач Windows, там должен быть процесс mysqld.exe

Если он там есть потом тебе нужно в командной строке Windows ввести:

Код: Выделить всё telnet 127.0.0.1 3306

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

Тогда пробуй команду:

Код: Выделить всё telnet localhost 3306

Если она будет успешной, то возможно, проблема из серии настройки сети ipv6 и т. п.

Если не успешно, смотри кто слушает порт 3306

В командной строке Windows выполни:

Код: Выделить всё net -an

(в выводе правой кнопкой мыши ищи 3306)

или более детальная:

Код: Выделить всё net -ab

Ну и на всякий случай убедись, что порт MySQL в конфигурационном файле задан как 3306, также посмотри файл ошибок MySQL

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

Где у тебя расположены эти файлы, см. на форуме Денвера, обычно конфигурационный лежит в Z:usrlocalmysql5 , файл ошибок в Z:usrlocalmysql5data

Sergej » 19 окт 2014, 14:43

В диспетчере такого процесса нет хотя изначально при загрузке денвер в командной строке пишет что-то вроде:

Что касаемо порта 3306 я так понимаю это к нему относится

Это в файле my.ini прописано

Файл с ошибками подкрепляю, погляди пожалуйста может чего увидишь

Александр » 19 окт 2014, 17:30

Смотри в сторону конфигурационного файла и затребуемых там ресурсов памяти.

Вот похоже что обрывает процесс:

Пробей в Яндексе по этим ошибкам.

Вот, кажется наиболее простое (Дмитрий Кóтеров кстати, разработчик Денвера)

Думаю примерно так: у MySQL есть разные движки для хранения данных, основные: MyISAM и InnoDB. InnoDB, кажется, в Денвере не используется.

В силу каких-то твоих особенностей (может ты раньше Mysql/Денвер устанавливал, но плохо удалил или еще бог знает что..), в общем, кажется этот InnoDB пытается создать дополнительное хранилище и натыкается на какое-то ограничение в конфигурации.

Тебе нужно почитать как в Денвере устроено конфигурирование MySQL (один конфигурационный файл или есть еще где-то, если в конфиге какие-то лимиты не прописаны, может они по умолчанию в MySQL идут).

Может потребуется удалить файл типа .ibdata1 не знаю. Все удаления лучше делай в последюю очередь, даже лучше не удалять, наверное, а просто переименовывать.

Последний раз редактировалось Александр 24 ноя 2014, 14:42, всего редактировалось 1 раз.

Sergej » 21 окт 2014, 19:46

Александр » 21 окт 2014, 20:53

Т. е. ты хочешь залить на локальный mysql-сервер дамп, сделанный на хостинге? ты его случайно не открывал простым блокнотом и потом пересохранял?

Пришли мне на почту сам дамп что ли.

Чтобы сразу исключить и на будущее, почитай про BOM

Александр » 21 окт 2014, 22:16

Я смотрю, дамп имеет кодировку Windows-1251. Похоже, что при экспорте на хостинге в PhpMyAdmin или какая программа там еще, не знаю.. была выставлена кодировка Windows-1251 (синоним CP1251) а нужна UTF-8, насколько я понимаю..

И ты наверное пытаешься на Денвере залить через PhpMyAdmin этот файл как файл, имеющий кодировку UTF-8.

Примерно так, в общем, похоже на какую-то несогласованность в кодировках.

И еще, смотрю в дампе стоит тип ENGINE=InnoDB. Похоже хостер так настроил СУБД тип InnoDB и экспорт в Windows 1251.

Но для локальных экспериментов попробуй в Notepad++ перекодировать этот файл в UTF8 без BOM и поиском/заменой поменяй InnoDB на MyISAM.

Локально не страшно пробовать. На хостинг, опять повторяю, наверное лучше пока тебе не пытаться базу перезаливать, пока не разберешься что к чему.

База не инициализирована (обычно инциализация базы происходит автоматически, при первом запуске службы). Посмотрите, какие параметры может принимать скрипт - если есть команда инициализации БД - воспользуйтесь ей.

Также возможно, что путь к файлам БД неправильно прописан в конфигах.

Потому, что сервер у вас не запущен.

Невозможно загрузить расширение mcrypt! Проверьте настройки PHP. Поставьте то, что он просит (mcrypt доступен в пакетах, для большинства дистрибутивов)

Это откуда взялось? В дебиане базы лежат совсем не тут. Собирали mysql из исходников или бездумно скопировали конфигурационный файл откуда-то?

Поставьте то, что он просит (mcrypt доступен в пакетах, для большинства дистрибутивов)
grep socket /etc/mysql/my.cnf
покажите, если проблема все еще в
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Что значит "не помогло"? Ты же вошёл в командную строку MySQL?

Хоть бы написал, как решена. Потому что у меня вот не решена.

Появилась такая же ситуация сегодня. Аптайм или 0, или 1 секунда. Постоянно перезапускается сервер mysql.
grep socket /etc/mysql/my.cnf такой же вывод.

tail -f /var/log/mysql/mysql.log

/usr/sbin/mysqld, Version: 5.0.51a-24+lenny4-log ((Debian)). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
Time Id Command Argument

Появляется новая такая запись каждую секунду.

В общем не понятно, что случилось. Помогите, пожалуйста.

А в messages есть что-нибудь?

Можно посмотреть, ругается ли, если запустить mysqld просто из консоли.

Свободного места везде хватает?

А в messages есть что-нибудь?

Можно посмотреть, ругается ли, если запустить mysqld просто из консоли.

Свободного места везде хватает?

1. В messages всё нормально.
2. Свободного места полно.
3. Если запускать как mysqld, то вот что:

Сейчас сижу, разбираюсь, чтобы это значило. Может быть что-нибудь посоветуете?

Этот мануал является частью серии статей по устранению неполадок и диагностике MySQL. Здесь мы рассмотрим некоторые общие проблемы, с которыми сталкиваются многие пользователи MySQL, и предоставим рекомендации по устранению конкретных ошибок. Также здесь вы найдете ссылки на другие мануалы и официальную документацию по MySQL, которые могут быть полезны в некоторых случаях.

MySQL управляет соединениями с сервером БД через сокет-файл, это специальный файл, который облегчает связь между различными процессами. Сокет-файл сервера MySQL называется mysqld.sock, в системах Ubuntu он обычно хранится в каталоге /var/run/mysqld/. Этот файл создается сервисом MySQL автоматически.

Иногда изменения в системе или в конфигурации MySQL приводят к тому, что MySQL не может прочитать сокет-файл. Из-за этого у вас могут быть проблемы с доступом к вашим базам данных. Наиболее распространенная ошибка сокета выглядит следующим образом:

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

Она может возникнуть по нескольким причинам. Существует несколько путей ее устранения.

Одна из основных причин этой ошибки заключается в том, что сервис MySQL остановлен или не запустился с самого начала. А это означает, что сервис просто не смог создать сокет-файл. Чтобы выяснить, является ли это причиной возникновения ошибки в вашем случае, попробуйте запустить сервис через systemctl:

sudo systemctl start mysql

Затем попробуйте снова получить доступ к командной строке MySQL. Если вы все еще получаете ошибку сокета, проверьте расположение, где ваша установка MySQL ищет сокет-файл. Эта информация есть в файле mysqld.cnf:

sudo nano /etc/mysql/mysql.conf.d/mysql.cnf

Найдите параметр socket в разделе [mysqld]:

. . .
[mysqld] user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/ mysqld.sock
port = 3306
. . .

Закройте файл. Затем убедитесь, что файл mysqld.sock существует, запустив команду ls в каталоге, где MySQL ищет этот файл:

ls -a /var/run/mysqld/

Если файл существует в этом каталоге, вы увидите его в выводе команды:

. .. mysqld.pid mysqld.sock mysqld.sock.lock

Если же файл не существует, возможно, причина в том, что MySQL пытается его создать, но не имеет для этого соответствующих прав. Вы можете передать все права на файл пользователю и группе mysql:

sudo chown mysql:mysql /var/run/mysqld/

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

sudo chmod -R 755 /var/run/mysqld/

Перезапустите MySQL, чтобы снова попытаться создать сокет-файл.

sudo systemctl restart mysql

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

Этот мануал является частью серии статей по устранению неполадок и диагностике MySQL. Здесь мы рассмотрим некоторые общие проблемы, с которыми сталкиваются многие пользователи MySQL, и предоставим рекомендации по устранению конкретных ошибок. Также здесь вы найдете ссылки на другие мануалы и официальную документацию по MySQL, которые могут быть полезны в некоторых случаях.

MySQL управляет соединениями с сервером БД через сокет-файл, это специальный файл, который облегчает связь между различными процессами. Сокет-файл сервера MySQL называется mysqld.sock, в системах Ubuntu он обычно хранится в каталоге /var/run/mysqld/. Этот файл создается сервисом MySQL автоматически.

Иногда изменения в системе или в конфигурации MySQL приводят к тому, что MySQL не может прочитать сокет-файл. Из-за этого у вас могут быть проблемы с доступом к вашим базам данных. Наиболее распространенная ошибка сокета выглядит следующим образом:

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

Она может возникнуть по нескольким причинам. Существует несколько путей ее устранения.

Одна из основных причин этой ошибки заключается в том, что сервис MySQL остановлен или не запустился с самого начала. А это означает, что сервис просто не смог создать сокет-файл. Чтобы выяснить, является ли это причиной возникновения ошибки в вашем случае, попробуйте запустить сервис через systemctl:

sudo systemctl start mysql

Затем попробуйте снова получить доступ к командной строке MySQL. Если вы все еще получаете ошибку сокета, проверьте расположение, где ваша установка MySQL ищет сокет-файл. Эта информация есть в файле mysqld.cnf:

sudo nano /etc/mysql/mysql.conf.d/mysql.cnf

Найдите параметр socket в разделе [mysqld]:

. . .
[mysqld] user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
. . .

Закройте файл. Затем убедитесь, что файл mysqld.sock существует, запустив команду ls в каталоге, где MySQL ищет этот файл:

ls -a /var/run/mysqld/

Если файл существует в этом каталоге, вы увидите его в выводе команды:

. .. mysqld.pid mysqld.sock mysqld.sock.lock

Если же файл не существует, возможно, причина в том, что MySQL пытается его создать, но не имеет для этого соответствующих прав. Вы можете передать все права на файл пользователю и группе mysql:

sudo chown mysql:mysql /var/run/mysqld/

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

sudo chmod -R 755 /var/run/mysqld/

Перезапустите MySQL, чтобы снова попытаться создать сокет-файл.

sudo systemctl restart mysql

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

Я пытаюсь настроить WordPress. У меня работают Apache и MySQL, и все учетные записи и база данных настроены. Я попытался установить простое соединение:

И я всегда получаю это:

Ошибка: 2002 - Нет такого файла или каталога

О каком файле или каталоге может идти речь?

Я использую OS X Snow Leopard, использую встроенный Apache. Я установил MySQL с помощью dmg x86_64.

ОБНОВЛЕНИЕ: я обнаружил, что сокет находится в /tmp/mysql.sock, поэтому в php.ini я заменил им все вхождения неправильного пути.

пожалуйста, вставьте вывод, /etc/init.d/mysql start если вы используете базовый дистрибутив debian. в случае неудачи проверьте /etc/my.cnf файл на предмет правильного пути к файлу сокета mysql. решил ту же проблему в OS X с XAMPP, используя "127.0.0.1" вместо "localhost".

Если вы используете Linux: неверный путь к файлу mysql.sock. Обычно это происходит потому, что вы используете (LAMPP) XAMPP, а его нет в /tmp/mysql.sock

Откройте файл php.ini и найдите эту строку:

если вы не уверены, попробуйте /var/lib/mysql/mysql.sock в качестве нового пути к сокету. Хм. Может, они имели в виду Леопарда или Тигра. В любом случае, веселитесь с WordPress! Обратите внимание, что вам может потребоваться установить mysqli.default_socket = /path/to/mysql.sock при соединении с mysqli Расположение сокета по умолчанию для стандартной установки MySQL - /tmp/mysql.sock.

У меня была аналогичная проблема, и я смог ее решить, обратившись к моему mysql с помощью 127.0.0.1 вместо localhost .

Это, вероятно, означает, что у меня что-то не так с настройкой хоста, но это быстрое исправление меня прямо сейчас.

Я проверил свой файл hosts и нашел строку с code 127.0.0.1 localhost code . Что заставляет меня любопытствовать, почему подключение через localhost не работает. Если бы кто-то мог просветить меня, я был бы счастлив. Это потому, что mysql.default_socket в php.ini неверен. Запустите «php -i | grep mysql.default_socket» Это сработало для меня, я нахожусь на El Capitan с mysql 5.7, установленным через homebrew. Я пытался установить WP, и когда я изменил «localhost» на «127.0.0.1», он смог подключиться.

Ответ основан на отличном ответе @ alec-gorge, но, поскольку мне пришлось внести в Google некоторые конкретные изменения, чтобы настроить его в моей конфигурации, в основном для Mac OS X, я подумал, что добавлю его сюда для полноты картины.

Убедитесь, что он /var/log/apache2/error_log содержит строку, которая сообщает вам, что php5_module включен - вы должны увидеть PHP/5.3.15 (или подобное).

Поиск имени файла сокета

Когда MySQL запущен и работает (с ./bin/mysqld_safe ), на консоль должны быть выведены строки отладки, которые сообщают вам, где вы можете найти файлы журнала. Обратите внимание на имя хоста в имени файла - localhost в моем случае - оно может отличаться для вашей конфигурации.

Файл, который идет после Logging to , важен. Вот где MySQL регистрирует свою работу.

Откройте localhost.err файл (опять же, ваш может называться по-другому), т.е. tail -1 /Users/jacek/apps/mysql/data/localhost.err узнать имя файла сокета - оно должно быть последней строкой.

Обратите внимание на socket: часть - это файл сокета, который вы должны использовать php.ini .

Есть другой способ (некоторые говорят, что это более простой способ) определить местоположение имени файла сокета, войдя в MySQL и запустив:

Настройка PHP5 с поддержкой MySQL - /etc/php.ini

Кстати о php.ini .

В /etc каталоге есть файл /etc/php.ini.default . Скопируйте его в /etc/php.ini .

Откройте /etc/php.ini и найдите mysql.default_socket .

По умолчанию mysql.default_socket - /var/mysql/mysql.sock . Вы должны изменить его на значение, которое вы отметили ранее - это было /tmp/mysql.sock в моем случае.

Замените /etc/php.ini файл, чтобы он отражал имя файла сокета:

Окончательная проверка

Проверьте журналы, нет ли ошибок, связанных с PHP5. Отсутствие ошибок означает, что все готово, и PHP5 с MySQL должен работать нормально. Поздравляю!

Читайте также: