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

Еще одно сообщение «Невозможно подключиться к локальному серверу MySQL через сокет» после обновления безопасности.

Решено

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

-

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

Точное сообщение об ошибке:

Link to database cannot be established: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Вот предыстория. Один из моих клиентов размещает свой сайт на выделенном сервере под управлением Ubuntu 10.04. Сегодня он сказал мне, что у него проблемы с почтовым сервером, так как он ничего не может получить. Я попытался отправить ему один, который так и не получил, попробовал свою учетную запись на этом сервере, то же самое. Казалось, что в центре обработки данных все в порядке, а письма не возвращались, поэтому я проверил журнал и увидел следующее:

warning: not enough free space in mail queue: 7573504 bytes < 1.5*message size limit

Так что я сказал ему, что все в порядке, такое случается один или два раза в год при такой установке (нехватка места). К вашему сведению, я не тот, кто настраивал сервер. Я знаю достаточно, чтобы провести базовое обслуживание, но, к сожалению, я не гуру Linux. Поэтому я немного почистил и воспользовался возможностью, чтобы установить безопасность ожидаемые обновления. Все прошло хорошо (по крайней мере, во время процесса ошибок не обнаружилось), и затем я перезапустил сервер.

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

mysql-client-5.1        5.1.73-0ubuntu0.10.04.1
mysql-client-core-5.1   5.1.73-0ubuntu0.10.04.1
mysql-common            5.1.73-0ubuntu0.10.04.1
mysql-server            5.1.73-0ubuntu0.10.04.1
mysql-server-5.1        5.1.73-0ubuntu0.10.04.1
mysql-server-core-5.1   5.1.73-0ubuntu0.10.04.1

Поэтому я думаю, что можно с уверенностью предположить, что я не пропускаю никаких компонентов mysql. Если я пытаюсь запустить службу (потому что она просто не запускается вообще), я получаю сообщение «задание не выполнено». Я посмотрел журнал ошибок mysql и ничего не обнаружил, кроме этой ошибки:

[ERROR] /usr/sbin/mysqld: Incorrect key file for table '/tmp/#sql_c46_0.MYI'; try to repair it

Он появляется несколько раз, а временные метки указывают на то, что это произошло только во время процесса обновления. И, насколько мне известно, это, вероятно, не связано и не вызывает беспокойства. В любом случае резервные копии БД создаются каждую ночь.

Одна вещь, которую мне еще предстоит попробовать, - это переустановить mysql. В основном потому, что я боюсь, что это может сломать что-то еще. И я не совсем уверен, устранена ли проблема с пространством, не знаю, что еще очистить после выполнения apt-get autoremove. Вот что df -h говорит:

rootfs                 10G  9,5G     0 100% /
/dev/root              10G  9,5G     0 100% /
/dev                  4,0G  164K  4,0G   1% /dev
none                  4,0G     0  4,0G   0% /dev/shm
none                  4,0G  1,1M  4,0G   1% /var/run
none                  4,0G     0  4,0G   0% /var/lock
none                  4,0G     0  4,0G   0% /lib/init/rw
/dev/md2              914G  115G  754G  14% /home

На / var / run / свободно всего 1.1M, но я не думаю, что этому файлу сокета нужно так много. Если у кого-нибудь есть советы, что мне делать дальше, будет хорошо!

Здесь содержание my.cnf:

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

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /home/mysql
tmpdir          = /tmp
skip-external-locking
bind-address            = 127.0.0.1
key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
query_cache_limit       = 1M
query_cache_size        = 16M
log_error                = /var/log/mysql/error.log
expire_logs_days        = 10
max_binlog_size         = 100M

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[isamchk]
key_buffer              = 16M

!includedir /etc/mysql/conf.d/