Решено
Как отметил 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/