У меня есть кластер Percona XtraDB с 3 узлами. Только один из этих узлов подключен к приложению, использующему базу данных.
Я хотел бы выполнять «горячее резервное копирование», просто используя mysqldump
на одном из узлов, который не обслуживает приложение, запустив: -
mysqldump --opt --skip-lock-tables --skip-add-locks \
--single-transaction --routines > dump.sql
Повлияет ли это на производительность узла, обслуживающего приложение? Или я могу запускать это каждые 2 или 3 часа на одном из других узлов?
Вы также можете использовать Percona XtraBackup (уже поставленный и используемый Percona XtraDB Cluster), это инструмент горячего резервного копирования (если вы используете только таблицы InnoDB, что вам следует делать, поскольку вы находитесь на PXC), вместо mysqldump. Вы можете использовать добавочные резервные копии, если используете Percona XtraBackup. Что-то вроде:
Это будет меньше нагрузки на сервер. Вы можете найти больше об этом в онлайн-документации:
https://www.percona.com/doc/percona-xtrabackup/2.4/how-tos.html#recipes-for-xtrabackup
Также следует учитывать некоторые предостережения при использовании mysqldump --single-transaction: http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_single-transaction