2015-08-05 5 views
0

У меня были огромные проблемы с модулем сторожевого таймера для Drupal, он создавал невероятное количество записей в базе данных. Из-за этого MySQL перестает работать. Я вернулся к более ранней точке, когда у меня было свободное пространство, и я смог войти в систему и удалить модуль. Я побежал команду SQLНеверное расположение дискового пространства сервера, почему?

SELECT CONCAT(table_schema, '.', table_name), 
CONCAT(ROUND(table_rows/1000000, 2), 'M')         rows, 
CONCAT(ROUND(data_length/(1024 * 1024 * 1024), 2), 'G')     DATA, 
CONCAT(ROUND(index_length/(1024 * 1024 * 1024), 2), 'G')     idx, 
CONCAT(ROUND((data_length + index_length)/(1024 * 1024 * 1024), 2), 'G') total_size, 
ROUND(index_length/data_length, 2)           idxfrac 
FROM information_schema.TABLES 
ORDER BY data_length + index_length DESC 
LIMIT 10; 

Так что, когда сторожевая ели все дисковое пространство я получал ответ, как этот результат

запроса перед сторожевым удален

queryresults before

Во всяком случае Я удаляю модуль, и таблица идет с ним. Я запускаю тот же запрос, и я снова не вижу таблицу. Результат

Запрос после сторожевого удален

enter image description here

Я иду в консоль и введите команду

df -h 

Консольный результат после сторожевого удален

console result df -h

Таким образом, консоль говорит о том, что все еще используется огромный объем памяти. Почему это? Должен ли я беспокоиться об этом?

ответ

0

Без слишком много информации, чтобы идти дальше, я собираюсь сказать, что вы попали в «ошибку»

http://bugs.mysql.com/bug.php?id=1341

Принимая данные из этого ответа How to shrink/purge ibdata1 file in MySQL

, как вы хотите, чтобы вернуть space from ibdata1, вы на самом деле должны удалить файл:

  • Сделайте туздЫшпр всех баз данных, процедур, триггеров и т.д., за исключением MySQL и performance_schema баз данных
  • Отбросьте все базы данных, за исключением вышеупомянутых 2 баз данных
  • Остановить MySQL
  • Удалить ibdata1 и ib_log файлы
  • Start MySQL
  • восстановление из отвала

Перед восстановлением вы, вероятно, хотите, чтобы включить innodb_file_per_table опцию в файле конфигурации

Инструкции, приведенные выше, могут быть фактически ограничены JUST innodb, чтобы сделать процесс немного более безопасным.

Смежные вопросы