Buenas tardes.
Mi servidor Debian 9 tuvo un problema que hizo que el sistema operativo fuera inaccesible. Logré extraer todos los archivos de base de datos sin procesar (/var/lib/mysql) para mi proyecto, pero desafortunadamente el tipo de motor estaba configurado en InnoDB.
¿Existe alguna posibilidad de que pueda recuperar la base de datos de alguna manera? Gracias.
Respuesta1
Si tiene el contenido completo /var/lib/mysql
, probablemente debería intentar reemplazar completamente el contenido actual /var/lib/mysql
con el contenido que tiene.
Dependiendo de sus opciones de mariadb/mysql, algunos o todos los datos de innodb son globales y se almacenan en los archivos /var/lib/mysql/ibdata1
, y /var/lib/mysql/ib_logfile
. Por lo tanto, simplemente restaurar el /var/lib/mysql/databasename/table*
archivo no suele ser suficiente para restaurar los datos de innodb.
Puede mover temporalmente el contenido actual de ese directorio a otra ubicación si ya lo ha restaurado o ha comenzado a usarlo. O incluso mejor, inicie temporalmente una nueva máquina en una VM o algo donde pueda probar la restauración de todo el /var/lib/mysql
directorio sin interrumpir nada.
Después de colocar sus datos antiguos, /var/lib/mysql
debería poder iniciar el servidor y, con suerte, extraer sus datos. Es posible que necesites iniciar mariadb con las opciones para omitir privilegios dependiendo de qué tan bloqueados estuvieran tus privilegios. Sin embargo, no continuaría usando eso; en cambio, le sugeriría que en ese momento use mysqldump o sus herramientas favoritas para volcar la base de datos y luego volver a importarla a su base de datos de producción.
A medida que mueve las cosas hacia atrás, asegúrese de que la cuenta de servicio mysql/mariadb (normalmente mysql/mysql) posea y tenga acceso de lectura y escritura a todos los archivos.