(root@localhost) [zabbix]> alter table history type=InnoDB;Query OK, 70547045 rows affected, 1 warning (4 hours 31 min 29.60 sec)
Records: 70547045 Duplicates: 0 Warnings: 0
посмотреть в каком Engine у нас таблице в базе можно командой:
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'zabbix';
P.S. нашёл статейку http://tipstricks.itmatrix.eu/?p=239
предлагают почитсить базу вот таким образом. (не забываем сделать backup!!! перед данными действиями)
mysql zabbix -u root -pи далее поудалять старый мусор из базы
DELETE history_str.* FROM history_str LEFT OUTER JOIN items ON history_str.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE history_uint.* FROM history_uint LEFT OUTER JOIN items ON history_uint.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE history_str_sync.* FROM history_str_sync LEFT OUTER JOIN items ON history_str_sync.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE history_sync.* FROM history_sync LEFT OUTER JOIN items ON history_sync.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE history_log.* FROM history_log LEFT OUTER JOIN items ON history_log.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE history.* FROM history LEFT OUTER JOIN items ON history.itemid = items.itemid WHERE items.itemid IS NULL;
DELETE trends.* FROM trends LEFT OUTER JOIN items ON trends.itemid = items.itemid WHERE items.itemid IS NULL;у меня результат был вполне вменяемым, грохнулось порядка 20 милионов старых записей.
2 комментария:
Зачем они заставляют вас делать такие запросы? О_о
криво встал innodb плагин и всё експортнулось в myisam (после некоторых mysql tuning действий), можеш себе представить что стало с дисками на таких кол-вах записей :)
это типа таблица где хранится инфа которая соберается с node-с (и это при "хранить инфу за последние 2 дня"), я вот и думаю они (zabbix кодеры) там похоже только галактику не мониторят по дефолту :)
Отправить комментарий