¿Cómo restaurar la base de datos mysql de los archivos físicos?

12

Acabo de reinstalar mi sistema, no hice copia de seguridad de volcado, pero todavía tengo la carpeta física de mis instalaciones anteriores de mysql.

¿Es posible usarlo para restaurar y actualizar mi configuración actual?

John
fuente

Respuestas:

11

Es posible, pero no sugerido. Si fuera a intentarlo, así es como lo haría.

  1. Instale mysql, configure lo más cerca posible del servidor anterior o simplemente use la misma configuración. Asegúrese de que se inicia, reinicia y puede iniciar sesión. Ahora cierra mysql.

  2. Mueva la instalación anterior fuera del camino con mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync o copie los nuevos archivos en su lugar. sudo rsync -av /old/mysql/ /var/lib/mysql/Sugiero mantener los archivos originales en su estado actual en caso de que esto no funcione.

  4. sudo chown -R mysql: /var/lib/mysqly luego inicie mysql. Verifique los registros, asegúrese de que las cosas se vean bien y luego inicie sesión en Mysql. Examine para asegurarse de que parece que sus datos están allí.

Asumiendo que todo salió bien, deberías estar listo. Ahora ve inmediatamente a Mysql para que no tengas que hacer este tipo de tonterías la próxima vez.

kashani
fuente
1
Tendría cuidado de hacer el paso 2 anterior antes del paso 1. Desea asegurarse de que la instalación y el inicio de mysqld no sobrescriban la base de datos del sistema anterior.
malcolmpdx
Ese es un buen punto. Supuse que / var / lib / mysql no era de la instalación original. En cualquier caso, sí, asegúrese de que sus archivos originales no estén en / var / lib / mysql antes de comenzar esto. Desea comenzar con una nueva instancia de Mysql antes de comenzar a intentar cargar sus datos originales.
kashani
gracias. Modifiqué ligeramente el paso para adaptarme a mi entorno Zend Server CE y MacOS y funciona
John
@ Kashani, seguí estas instrucciones (centos) pero en el nuevo servidor obtengo la tabla para mostrar, pero los datos y la tabla no ... ¿alguna idea? veo todas las tablas dentro de la carpeta que simplemente no aparecen (también parece que es el conjunto de caracteres correcto)
K2xL
2
@ K2xL No estoy seguro de lo que estás viendo. Si crea una nueva pregunta con los detalles de lo que está viendo y cómo lo logró, me encantaría verlo. Tenga en cuenta que el método anterior solo funciona para toda la instalación de Mysql, no para la base de datos individual porque las tablas Innodb tienen datos almacenados en los principales archivos ibdata, independientemente de si está utilizando innodb_file_per_table o no.
kashani