Estoy ejecutando un servidor compartido con múltiples usuarios. Cada usuario tiene su propia base de datos en MySQL y credenciales asociadas. He creado una plantilla systemd timer & service (es decir, sitetasks @ .timer & sitetasks @ .service ) para ejecutar mysqldump diariamente para hacer una copia de seguridad de la base de datos de cada usuario. Información específica del usuario es leído por mysqldump desde la .my.cnf archivo en el directorio personal de cada usuario.
Luego puedo ejecutar el temporizador / servicio systemd para un usuario específico (es decir, [email protected] ) para hacer una copia de seguridad de la base de datos de ese usuario.
Sin embargo, no puedo encontrar una manera de especificar el nombre de la base de datos en .my.cnf . He mirado la opción --databases pero esto es solo un indicador, no una forma de especificar una base de datos o un conjunto de bases de datos.
Puedo pensar en varias formas de resolver esto de manera diferente:
- crear un temporizador / servicio systemd específico para el usuario, pero esto no escala bien
- suelte un archivo .db-name en el directorio de inicio de los usuarios y léalo cuando llame a mysqldump (algo así como mysqldump $ (cat .db-name)> backup.sql), pero ahora necesito un archivo adicional
- similar al # 2 pero analizando wp-config.php de cada usuario (los db son para Wordpress)
- asegúrese de que el nombre de la base de datos sea siempre el mismo que el nombre de usuario
Sin embargo, ninguno de estos es tan escalable y portátil como poder usar el archivo de opciones .my.cnf existente de MySQL .
¿Hay alguna manera de especificar un nombre de base de datos predeterminado en .my.cnf ?
fuente