0
Отвечен

Быстрое резервное копирование базы данных.

Ткачёв Андрей 3 года назад обновлен mikbill (CEO) 3 года назад 11

База данных со временем растёт, поэтому время резервного копирования с помощью mysqldump также увеличивается. В процессе работы mysqldump перестаёт отвечать RADIUS сервер.


Вопрос такой:


Какие таблицы можно исключить при копировании для ускорения процесса, а затем (после разворачивания резервной копии) пересоздать заново?


Другими словами:


Если есть таблицы, в которых хранится куча данных, отсутствие которых, не  сказывается на работоспособности базы данных в целом, но нужны для отслеживания, например, истории чего-нибудь, то их можно исключить из "Быстрого ежедневного ежедневного резервного копирования".


Базу данных с этими таблицами можно, например, копировать отдельно раз в неделю.


Используйте параметры --single-transaction и --quick при создании бекапа.

Попробовал. Это ничего не меняет кроме того, что время отработки команды немного увеличилось.

ну по идее можно исключить raddacct sw_opt_82_logs и что там еще большое и не особо нужное

На рассмотрении

если создать ramdisk и делать дамп в него то Очень увеличите скорость операции.


а по таблицам...ну вы определитесь что вам не нужно/не важно.


напишите своими словами и скажем какие таблицы за это отвечают что бы вы их исключили из дампа.

По поводу RAM диска я пока не думал, но планирую изучить вопрос.


По таблицам.

Не знаю, как правильно измерить, какие таблицы сколько места занимают, но судя по размерам .ibd файлов я выделил следующие:


radpostauthnew (1 ГБ)

switch_status (600 МБ)

можете открыть phpmyadmin там увидите размеры все.

ramdisk примерно так


/etc/fstab

tmpfs           /mnt/ramdisk     tmpfs   rw,mode=1777,size=512M    0       0


включить быстро
mkdir -p /mnt/ramdisk
mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk
chown mysql:mysql /mnt/ramdisk


в my.cnf 

указать

tmpdir        = /mnt/ramdisk 

Еще можно оптимизировать работу FS


/etc/fstab

/dev/sdb1 /hdd001         ext4    defaults,noatime,nodiratime,barrier=0,nobh,nouser_xattr,commit=100,data=writeback        0       2

mount -o remount,defaults,noatime,nodiratime,barrier=0,nobh,nouser_xattr,commit=100 /mnt/
Идем в обход, активируем для файловой системы дефлтную опцию монтирования:

tune2fs -o journal_data_writeback /dev/md2

В итоге получаем:

tune2fs -l /dev/md2 | grep writeback
Default mount options: journal_data_writeback


только с этим внимательно. 

Благодарю за подсказки относительно рамдиска. но в обозримом будущем лишней оперативной памяти на сервере не будет. Отложу этот вопрос на будущее.

По файловой системе вопрос буду изучать.


Для чего предназначены таблицы radpostauthnew и switch_status?



логи авторизации и свичей.

Сервис поддержки клиентов работает на платформе UserEcho