script automatico mysql backup restore

automatico - mysql backup windows



Restauración de la base de datos MySQL desde archivos físicos (7)

¿Es posible restaurar una base de datos MySQL desde los archivos de la base de datos física? Tengo un directorio que tiene los siguientes tipos de archivos:

client.frm
cliente.MYD
cliente.MYI

pero para unas 20 mesas más.

Usualmente uso mysqldump o una herramienta similar para obtener todo en 1 archivo SQL, entonces, ¿cuál es la forma de lidiar con este tipo de archivos?


¡Sí lo es! Simplemente agréguelos a su carpeta de base de datos (según el sistema operativo) y ejecute un comando como "Permisos de reparación de MySQL". Esto re-almacenó la base de datos. Ver también que los permisos correctos se establecen en los archivos también.


Con MySql 5.1 (Win7). Para recrear DBs (InnoDbs) he reemplazado todo el contenido de los siguientes directorios (parámetros my.ini):

datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/" innodb_data_home_dir="C:/MySQL Datafiles/"

Después de eso comencé el servicio MySql y todo funciona bien.


De la respuesta de @Vicent, ya restauro la base de datos MySQL de la siguiente manera:

Paso 1. Cerrar el servidor Mysql

Paso 2. Copie la base de datos en su carpeta de base de datos (en Linux, la ubicación predeterminada es / var / lib / mysql). Mantenga el mismo nombre de la base de datos y el mismo nombre de la base de datos en modo mysql.

sudo cp -rf /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/

Paso 3: Cambie el modo propio y cambie el modo de la carpeta:

sudo chown -R mysql:mysql /var/lib/mysql/database1 sudo chmod -R 660 /var/lib/mysql/database1 sudo chown mysql:mysql /var/lib/mysql/database1 sudo chmod 700 /var/lib/mysql/database1

Paso 4: Copia ibdata1 en tu carpeta de base de datos

sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/ sudo chown mysql:mysql /var/lib/mysql/ibdata1

Paso 5: copie los archivos ib_logfile0 e ib_logfile1 en su carpeta de base de datos.

sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile0 /var/lib/mysql/ sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile1 /var/lib/mysql/

Recuerde cambiar y cambiar la raíz de esos archivos:

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0 sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1

o

sudo chown -R mysql:mysql /var/lib/mysql

Paso 6 (Opcional): Mi sitio tiene configuración para almacenar archivos en una ubicación específica, luego los copio exactamente en la ubicación correspondiente.

Paso 7: inicia tu servidor Mysql. Todo vuelve y lo disfrutas.

Eso es.

Ver más información en: https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/


Si está restaurando la carpeta, no olvide juntar los archivos a mysql: mysql

chown -R mysql:mysql /var/lib/mysql-data

de lo contrario, recibirá errores al intentar eliminar una base de datos o agregar una nueva columna, etc.

y reinicia MySQL

service mysql restart


Tengo el mismo problema pero no se recuperó correctamente la base de datos según las instrucciones anteriores.

Solo obtuve carpetas de bases de datos mysql recuperadas de mi sistema operativo Ubuntu. Mi problema es cómo recuperar mi base de datos con esa carpeta de datos mysql ilegible. Ahora vuelvo a win7 OS para el entorno de desarrollo.

* NOTA Tengo un servidor de base de datos existente que se ejecuta en win7 y solo necesito pocos archivos de base de datos para recuperar de los archivos recuperados. Para recuperar con éxito los archivos de la base de datos del sistema operativo Ubuntu, necesito instalar una nueva versión de la base de datos mysql del mismo sistema de Ubuntu OS en mi sistema operativo win7 para recuperar todo en ese viejo servidor de base de datos.

  1. Cree otro servidor de base de datos mysql con la misma versión de los archivos recuperados.

  2. Detener el servidor mysql

  3. Copie la carpeta recuperada y pegue en la base de datos (C: / ProgramData / MySQL / MySQL Server 5.5 / data) mysql.

  4. Copie el archivo ibdata1 ubicado en la carpeta instalada de linux mysql y péguelo en (C: / ProgramData / MySQL / MySQL Server 5.5 / data). Justo sobre la derecha la copia de seguridad existente o hacer antes de reemplazar.

  5. inicia el servidor mysql y comprueba si has recuperado con éxito los archivos de la base de datos.

  6. Para usar la base de datos recuperada en mi servidor mysql actualmente usado simplemente exportar la base de datos recuperada e importarla a mi servidor mysql existente.

Espero que esto ayude porque no encontré una solución a mi problema.


Una tabla MyISAM de MySQL es la combinación de tres archivos:

  • El archivo FRM es la definición de la tabla.
  • El archivo MYD es donde se almacenan los datos reales.
  • El archivo MYI es donde se almacenan los índices creados en la tabla.

Debería poder restaurar copiándolos en su carpeta de base de datos (en Linux, la ubicación predeterminada es /var/lib/mysql/ )

Debe hacerlo mientras el servidor no se está ejecutando.


Una vez copié estos archivos en la carpeta de almacenamiento de la base de datos para una base de datos mysql que estaba funcionando, comencé el DB y esperé a que "reparara" los archivos, luego los extraje con mysqldump.