Я использую общий сервер с несколькими пользователями. Каждый пользователь имеет свою собственную базу данных в MySQL и соответствующие учетные данные. Я создал шаблон systemd timer & service (т.е. sitetasks @ .timer & sitetasks @ .service) для ежедневного запуска mysqldump для резервного копирования базы данных каждого пользователя. Информация о пользователе читается mysqldump из файла .my.cnf в домашнем каталоге каждого пользователя.
Затем я могу запустить системный таймер / службу для конкретного пользователя (например, sitetasks@user1.service), чтобы создать резервную копию базы данных этого пользователя.
Тем не менее, я не могу найти способ указать имя базы данных в .my.cnf. Я посмотрел на параметр --databases, но это всего лишь флаг, а не способ указать базу данных или набор баз данных.
Я могу придумать несколько способов решить это по-разному:
- создать пользовательский системный таймер / сервис - но это не очень хорошо масштабируется
- поместите файл .db-name в домашний каталог пользователей и прочитайте его при вызове mysqldump (что-то вроде mysqldump $ (cat .db-name)> backup.sql) - но теперь мне нужен дополнительный файл
- похож на # 2, но анализирует wp-config.php каждого пользователя (базы данных для Wordpress)
- убедитесь, что имя базы данных всегда совпадает с именем пользователя
Однако ни один из них не является настолько масштабируемым и переносимым, как возможность использования существующего файла параметров MySQL .my.cnf .
Есть ли способ указать имя базы данных по умолчанию в .my.cnf?