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

MySQL перестал работать - полный диск

Может быть, это потому, что мне не хватает свободного места на диске, посмотрите:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             1.9G  208M  1.6G  12% /
none                  998M  192K  998M   1% /dev
none                 1002M     0 1002M   0% /dev/shm
none                 1002M   56K 1002M   1% /var/run
none                 1002M     0 1002M   0% /var/lock
none                 1002M     0 1002M   0% /lib/init/rw
/dev/sda1              92M   24M   63M  28% /boot
/dev/sda8             434G  199M  412G   1% /home
/dev/sda6             9.2G  495M  8.3G   6% /usr
/dev/sda7             9.2G  8.8G     0 100% /var

/ var используется на 100%.

Может, в этом причина?

Да, это может быть причиной, если данные mysql находятся в / var / (что обычно верно).

Вроде хватит на / home /. Почему бы не скопировать туда файлы данных и попробовать?

В соответствии с Руководство по сертификации MySQL 5.0, стр. 409, глава 29, раздел 29.2 «Механизм MyISAM», в подпункте 11 конкретно говорится:

Если при добавлении строк в таблицу MyISAM у вас заканчивается дисковое пространство, ошибки не возникает. Сервер приостанавливает операцию до тех пор, пока не станет доступным пространство, а затем завершает операцию.

Снова и снова, когда я вижу это, я удаляю пару старых двоичных журналов, и, вуаля, MySQL снова начинает двигаться. Затем я быстро закрываю MySQL, стираю оставшиеся двоичные журналы и индекс двоичного журнала, запускаю MySQL, и все в порядке. У меня работает каждый раз!

Если двоичные журналы не включены, вам нужно использовать kill -9 в mysqld, переместите папку / var / lib / mysql на диск большего размера. Создайте символическую ссылку / var / lib / mysql на новое место и запустите резервное копирование MySQL.

Да, это может быть причиной. Я думаю, что ваш каталог данных Mysql находится в /var. Откройте файл my.cnf (может быть, вы можете найти его в каталоге / etc) и проверьте, находится ли каталог данных в / var или нет .

Я думаю, что в каталоге / Home доступно так много места, и вы можете использовать его в качестве каталога данных mysql.

вы можете увидеть использование по каталогам с помощью

du -shc /var/*

тогда возможно:

du -shc /var/lib/mysql/*

чтобы увидеть занятость БД в файловой системе

-s резюме

-h человек (mb gb и т. д., но не сортируемый)

-c печатает итог в конце

Да.

Файлы данных MySQL обычно хранятся где-то в / var /. Если он заполнен, MySQL может перестать работать.