1030 Отримана помилка 28 від двигуна зберігання


205

Я працюю над проектом, де мені потрібно створити базу даних із 300 таблицями для кожного користувача, який хоче переглянути демо-додаток. він працював нормально, але сьогодні, коли я тестував з новим користувачем, щоб побачити демо, він показав мені це повідомлення про помилку

1030 Got error 28 from storage engine

Провівши деякий час в Google, я виявив, що це помилка, яка пов'язана з простором бази даних або тимчасовими файлами. Я спробував це виправити, але мені не вдалося. тепер я навіть не в змозі запустити mysql. Як я можу це виправити, і я також хотів би збільшити розмір до максимуму, щоб я не стикався з тією ж проблемою знову і знову.


1
Заявляючи очевидне ... чи є у вас достатньо вільного місця на розділі, де зберігаються дані mysql? На якій платформі ти працюєш? Localhost чи хостинг-компанія?
DCoder

@DCoder: - У мене є сервер на хмарі Amazon
ScoRpion

1
@ShowketBhat у мене така сама проблема, у моїй /tmpпапці є 100% використання місця. Добре просто видалити всі файли з цієї папки / tmp? І ще одне питання: чому він не видаляється автоматично?
Діма Деплов

Відповіді:


412

Помилка Mysql " 28 від двигуна зберігання " - означає " недостатньо місця на диску ".

Для відображення місця на диску використовуйте команду нижче.

myServer# df -h

Результати повинні бути такими.

Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vdisk     13G     13G     46M   100%    /
devfs         1.0k    1.0k      0B   100%    /dev

6
Для отримання додаткової інформації ви отримаєте таку ж помилку, якщо / tmp файлова система досягне 100% використання.
Кумар

1
Навіть якщо у вас Mysql data_dir в іншому розділі (або диску), у якого є вільний простір, у вас повинен бути вільний простір на / і / tmp (звичайно, ви могли мати останні на іншому розділі / диску)
Дієго Андрес Діас Еспіноза

1
Ви врятували мій день, я знайшов 390 Gb файл логу повільного ((
Mulya

1
Приємна відповідь. Це врятувало мої багато часу. +1
Пратік Соні

34

Розширити це питання (навіть якщо це питання старіше); Ймовірно, йдеться не про сам простір MySQL, а про простір взагалі, якщо припустити для файлів tmp чи чогось подібного. Мій дані mysql не був заповнений, / (root) розділ був


10

У мене був такий самий випуск у AWS RDS. Це було пов’язано з тим, що вільний простір (місце для зберігання жорсткого диска) було повним. Вам потрібно збільшити простір або видалити деякі дані.


8

Мій / tmp становив% 100. Після видалення всіх файлів і перезавантаження mysql все працювало нормально.


2

Моя папка / var / log / apache2 складала 35 г, а деякі журнали в / var / log загалом становили інші 5 г мого 40 г жорсткого диска. Я очистив усі журнали * .gz і, переконавшись, що інші журнали не збираються робити погані речі, якщо я з ними заблукав, я просто очистив їх також.

echo "clear" > access.log

тощо.


3
Це дуже дивний спосіб очистити файл журналу, чи не так? Чому б просто не зірвати його?
користувач1175849

3
Може, тоді ви можете зберегти файл та дозволи?
Захарій Дахан

9
Я рекомендую використовувати truncateдля очищення журналів,truncate -s 0 access.log

2

Перевірте свою / резервну копію, щоб побачити, чи можете ви видалити старіші непотрібні резервні копії.


1

У мене була подібна проблема через мої бінарні реплікації .

Якщо це так, просто створіть cronjob, щоб виконувати цей запит щодня:

PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );

Це видалить усі бінарні журнали, старші ніж 2 дні.

Я знайшов це рішення тут .


0

Простий: $ sth-> закінчити (); Можливо, врятувало б вас від цього не турбуватися. Mysql використовує tmp простір системи замість власного простору.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.