mysql мертв, но subsys заблокирован
я использую PHP-mysql на Linux (RHEL 5.0) В Первый Раз
Когда я попытался подключиться к MySQL из моего PHP-скрипта, используя mysqli_connect.
Он Отобразил Следующую Ошибку:
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'(2)
после googling в течение часа я нашел решение этого, как указано здесь.
когда я последовал этому подходу и выдал команду:
service mysqld status
как пользователь root
Я получил:mysql is dead but subsys locked
любой один знает как решить эту проблему и причину этой ошибки ?
и
- перезагрузка
- начиная с
- и остановка MySQL
но PHP работает нормально. Я протестировал
phpinfo();
для демо.Я установил MySQL в
/usr/local/mysql/bin
. Кто-нибудь может мне помочь ? Любая помощь приветствуется.
Спасибо заранее.
8 ответов
у меня была эта проблема с моим сервером OTRS после того, как я попытался обновить большой пакет.
решение:
копировать для safty:
cp /var/lock/subsys/mysqld /root/mysqld
чем удалить
rm /var/lock/subsys/mysqld
чем закрыть все службы, которые зависят от mysql:
service httpd stop
service otrs stop
после этого:
service mysqld restart
service httpd restart
service otrs restart
- tail/var/log / mysqld.log для проверки журнала ошибок
-
затем выполните следующие действия:
rm /var/lock/subsys/mysqld chown -R mysql.mysql /var/run/mysqld
во-первых,убедитесь, что /etc/init.d / mysqld работает от / usr / local / mysql/bin затем убейте mysqld, удалите файл блокировки и перезапустите его.
этот (и всякие другие странные ошибки) также может произойти, если у вас есть полный диск. В моем случае мой раздел /var был заполнен. Освобождение пространства позволило mysqld перезапустить снова.
Перезагрузка сервера сработала для меня. Не забудьте запустить все службы после перезагрузки, если вы не добавили "chkconfig" для них, скажем httpd, named и mysql.
Я использую команду kill, шаг за шагом:
- используйте статус командного сервиса mysqld для поиска PID mysqld
- убить -9 PID
- используйте статус mysqld службы команд снова для поиска PID mysqld
- убить -15 PID
- проверьте еще раз с командной службы mysqld статус, проверьте, пока PID не мертв или subsys заблокирован
- используйте командный сервис mysqld start
сначала найдите номер PID mysqld:
1. Используйте top / grep mysqld
2. kill -9 PID
Безопасный метод, отлично работает с Cent OS