Я застрял с исключением 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
Наконец-то моя проблема решена.