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.
Cree otro servidor de base de datos mysql con la misma versión de los archivos recuperados.
Detener el servidor mysql
Copie la carpeta recuperada y pegue en la base de datos (C: / ProgramData / MySQL / MySQL Server 5.5 / data) mysql.
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.
inicia el servidor mysql y comprueba si has recuperado con éxito los archivos de la base de datos.
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.