Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настроить MySQL / 12 сообщений из 12, страница 1 из 1
19.02.2021, 09:50
    #40046997
pogreb33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
Всем привет!
Я использую mysql для работы zabbix
Уже второй раз у меня все место в 300Гб занимает таблица в mysql
Так как в mysql я не очень разбираюсь, то подскажите, пожалуйста, в моем вопросе.
Создал чистую виртуалку на Hyper-V, установил Debian 20.04, установил mysql
Прежде чем начать миграцию zabbix я хочу настроить mysql для дальнейшей перезаписи таблиц.
Насколько я вычитал, мне нужно в my.cnf удалить параметр innodb_data_file_path и добавить параметр innodb_file_per_table
После этого у меня будут создаваться файлы ibd*
И когда я замечу, что база занимает слишком много места, я буду делать оптимизацию таблиц командой OPTIMIZE TABLE tableName
И мои файлы ibd* перезапишутся.
Так ли я все понял?
Буду рад любому совету.
...
Рейтинг: 0 / 0
19.02.2021, 13:08
    #40047099
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
pogreb33
удалить параметр innodb_data_file_path
Зачем? Это просто путь, он на оптимизацию таблиц не влияет.

pogreb33
добавить параметр innodb_file_per_table
Имхо, это полезно и правильно. Хотя в последних версиях он и так включен по умолчанию.


pogreb33
настроить mysql для дальнейшей перезаписи таблиц.
pogreb33
буду делать оптимизацию таблиц командой OPTIMIZE TABLE tableName
Тут надо понимать, что сам по себе MySQL пере записывать данные не будет. Вышеописанные манипуляции позволят освободить место от удаленных записей. Но удалять ненужные записи придется как-то иначе.
...
Рейтинг: 0 / 0
19.02.2021, 13:23
    #40047104
pogreb33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
Тут надо понимать, что сам по себе MySQL перезаписывать данные не будет. Вышеописанные манипуляции позволят освободить место от удаленных записей. Но удалять ненужные записи придется как-то иначе

То есть если в таблице данных на 300Гб, то оптимизация таблицы мне не поможет?
Мне надо сначала как то удалить данные из таблицы, а только потом проводить оптимизацию?
...
Рейтинг: 0 / 0
19.02.2021, 13:38
    #40047115
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
pogreb33,

Если записи не удалялись и весь файл занят данными, то оптимизация ничем не поможет.
...
Рейтинг: 0 / 0
19.02.2021, 13:40
    #40047116
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
pogreb33
Мне надо сначала как то удалить данные из таблицы
Да. Например, регулярно по расписанию запускать запрос, который удалит записи старее некоторого порога (при условии, что есть поле, по которому можно определить дату вставки записи)
...
Рейтинг: 0 / 0
19.02.2021, 14:01
    #40047133
pogreb33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
miksoft,

Есть варианты как мне с заббиксом тогда все корректно организовать?
В самом заббиксе я время хранения всех данных ограничил.
Просто Вы предлагаете вариант, который опять требует плотной рабоды с БД, а в этом не очень силен
...
Рейтинг: 0 / 0
19.02.2021, 14:39
    #40047149
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
pogreb33
вариант, который опять требует плотной рабоды с БД, а в этом не очень силен

Если задачу надо решить - то придётся становиться сильным.

pogreb33
Есть варианты как мне с заббиксом тогда все корректно организовать?

Заббиксу возложить на проблемы снаружи. Так что обслуживать и оптимизировать БД придётся в "ручном" режиме. По крайней мере поначалу - а когда процесс отработается и отладится, можно будет его переложить в Event scheduler.

Если проблема статическая, связанная с переполнением, то возможный вариант - это партиционирование таблиц. Заббикс будет удалять записи старше установленного предельного возраста, а тебе нужно будет только периодически удалять старые партиции, в которых не осталось записей, и создавать новые для будущих периодов. Да, не каждая таблица может быть партиционирована, не каждый тип данных может быть ограничен во времени, но приличная часть данных может попасть под описанный процесс.

С другой стороны 300 гектар, да при нынешних ценах на дисковое пространство - ну несерьёзно, чес-слово.
...
Рейтинг: 0 / 0
19.02.2021, 19:53
    #40047312
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
pogreb33
В самом заббиксе я время хранения всех данных ограничил.
А как это влияет на БД? Заббикс умеет удалять устаревшие записи?
...
Рейтинг: 0 / 0
19.02.2021, 21:50
    #40047357
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
там прям в конфиге есть такое, периодичность чистки логирования в часах
...
Рейтинг: 0 / 0
22.02.2021, 14:46
    #40047899
Fitter2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
Насколько мне известно, в zabbix есть параметры, как часто собирать данные и как долго хранить.
Можно выяснить как это реализовано, если интересно.
...
Рейтинг: 0 / 0
22.02.2021, 14:48
    #40047900
Fitter2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
...
Рейтинг: 0 / 0
24.02.2021, 08:55
    #40048277
pogreb33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настроить MySQL
Fitter2,

Спасибо!
Надо проверить настройки на заббиксе, возможно, что то пропустил
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настроить MySQL / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]