Necesito reubicar las bases de datos de clientes MySQL a otro disco, con el fin de:
1. Separation of user data from system files
2. Ease of backing up system and user data separately
3. Ease of upgrading the system
Los siguientes artículos fueron útiles:
[how-to-move-mysql-datadir-to-another-drive][1]
[move-a-mysql-database-to-another-location][2]
Al ejecutarse en un sistema ubuntu-18, parece que la variable innodb_file_per_table está configurada de forma predeterminada:
mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_%';
...
| innodb_file_per_table | ON
...
(Mismos resultados sin el GLOBAL)
no puedo encontrarcualquierreferencia a innodb_file_per_table en cualquier archivo de configuración; el único archivo con mucho contenido es
/etc/mysql/mysql.conf.d/mysqld.cnf
Me preocupa lo que todavía se almacena en los archivos.
/var/lib/mysql/ibdata1
/ib_logfileN
He notado que simplemente acceder a una base de datos hace que éstas se actualicen.
Mis preguntas son:
Si muevo solo las bases de datos del cliente (a un disco separado) y el disco del sistema se pierde y es necesario volver a crearlo desde cero, ¿se perderá algo?
¿Es mejor mover todas las bases de datos, incluidas (mysql, performance_schema y sys) a un disco separado?
¿Es mejor mover todo el directorio de datos a un disco separado, apuntándolo a través de la variable "datadir" en /etc/mysql/mysql.conf.d/mysqld.cnf?
¿Cuáles son las ramificaciones deno¿Usar la opción 3 si se pierde el disco del sistema?
Respuesta1
Lo mejor sería mover todas las tablas de MySQL a otro disco. Cualquier intento de dividir a los "clientes" agregaría complejidad y dificultaría sus objetivos. (Si eso se convierte en un requisito, podemos discutirlo más a fondo).
Básicamente, el único archivo que queda tras tal movimiento son los archivos de configuración. Mencionaste /etc/mysql/mysql.conf.d/mysqld.cnf
, pero puede haber otros archivos de configuración por ahí.
En otro lugar hay un directorio más grande que contiene un montón de archivos, además de subdirectorios que corresponden a las "bases de datos" que ha creado. Simplemente movería todo ese árbol. Si está utilizando un sistema operativo basado en Linux, utilice un enlace simbólico desde la ubicación anterior a la nueva. No se necesitan cambios de configuración explícitos.
Luego, si alguno de los discos falla, no podrá acceder a los datos. Lo que quiero decir es que jugar con archivos y directorios no necesariamente te acercará a la "seguridad".
En su lugar, concéntrese en las copias de seguridad. Y/o "Replicación". Esto último requiere un extraservidory entrega una copia completa de los datos. Entonces, si alguno de los servidores falla, no habrá perdido nada.
LVM es otra técnica de respaldo; los beneficios de tener un disco para la base de datos. Pero eso añade mucha complejidad.
Te sugiero que leas un poco más y mantengas la mente abierta. Encontrará muchas cosas que coincidan directamente con sus ideas.