Назад | Перейти на главную страницу

как получить файл mysql.sock, ошибочно удаленный из «/ mysql / tmp /»

Я застрял с исключением PDO

PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).

Чтобы решить эту проблему, я попытался воссоздать символическую ссылку с помощью команды. Я работаю на сервере linux.

 ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock

при выполнении вышеуказанного оператора sql исключение PDO не изменилось. А потом по ошибке удалил mysql.sock файл в "/home/../mysql/tmp/" (не в "/ tmp").

Теперь, как мне вернуться или воссоздать mysql.sock файл. И любая идея относительно исключения PDO, как его решить.

vi /etc/mysql/my.cnf

Вы найдете строки ниже вверху в вашем файле конфигурации

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

Убедитесь, что mysqld.sock находится там, где он должен быть. Мне не нравится путь в вашем сообщении об ошибке "/tmp/mysql.sock"

Поскольку вы здесь, ищите и эту строку

bind-address            = 127.0.0.1

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

Попробуйте подключиться локально (с терминала на сервере)

mysql -u root -p

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

chmod a+r /var/run/mysqld/mysqld.sock

Все вышеперечисленное должно решить ваши проблемы с подключением. Чтобы получить файл, вы можете выполнить новую установку сервера mysql.

apt-get purge mysql-server
apt-get install mysql-server

Или вы можете загрузить пакет mysql-server .deb, извлечь его, и вы должны найти его где-то там. Эквивалентно .rpm, если вы используете RHL.

Изменить: поскольку вы копировали файлы, возможно, владелец файла изменился на root, проверьте это также (с помощью ls-la / path). Владельцем должна быть группа mysql mysql. Не могу думать ни о чем другом.

Нужно изменить файл конфигурации httpd.conf корневое значение

Раньше это было Listen : 0.0.0.0:80. Я изменил это на Listen: 0.0.0.0:8080 - изменил корень на его более высокое значение, четыре цифры (1024, 8008, 9999 и т. д.) и перезапустил apache server и mysql. Что ж, сработало.

И на мой вопрос: mysql.sock file - это файл сокета, он будет создан автоматически при перезапуске сервера MySql

Наконец-то моя проблема решена.