Ir al contenido principal

[Anotaciones] Importar DB MySQL con archivos frm/ibd

Primero, vamos a extraer las consultas para crear las tablas, lo podemos hacer con el siguiente comando>

mysqlfrm --server=user:pass@localhost --port 3307 --diagnostic /ruta/de/los/archivos/data/nombredebase/*.frm

Esto nos regresa todos los CREATE que tengamos para las tablas, guardar todo el resultado.

Creamos la base de datos, con el mismo nombre que se tenía anteriormente.

Ejecutamos la consulta que nos regresó el comando mysqlfrm, si nuestra versión de mysql es mayor a 5.6, es importante hacer este cambio:


 ENGINE=InnoDB DEFAULT CHARSET=utf8;

por

 ENGINE=InnoDB ROW_FORMAT=compact CHARSET=utf8;

Es decir, se remplaza DEFAULT por ROW_FORMAT=compact, realmente no se por qué, pero me llevó como una hora dar con el error, espero quien lea esto le sea más facil.

Una vez que tengamos las tablas creadas, ejecutamos lo siguiente:

ALTER TABLE nombredetabla1 DISCARD TABLESPACE;
ALTER TABLE nombredetabla2 DISCARD TABLESPACE;
ALTER TABLE nombredetabla3 DISCARD TABLESPACE;
...
ALTER TABLE nombredetablaN DISCARD TABLESPACE;

Esta consulta borra los ficheros ibd creados por la consulta de CREATE. 

Después, copiamos los ficheros ibd que tenemos respaldados (los que queremos importar) directamente a la carpeta de mysql/tabla, en debian/ubuntu se encuentra en /var/lib/mysql/nombredebase/

Asignamos el propietario mysql para los archivos: 

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

 Y al final ejecutamos: 


ALTER TABLE nombredetabla1 IMPORT TABLESPACE;
ALTER TABLE nombredetabla2 IMPORT TABLESPACE;
ALTER TABLE nombredetabla3 IMPORT TABLESPACE;
...
ALTER TABLE nombredetablaN IMPORT TABLESPACE;

Después de esto, ya tendremos nuestros datos importados en la tabla que se creó.

Nota: mysqlfrm es una utilidad que viene en este paquete: sudo apt-get install mysql-utilities

Saludos!

Komtec1

Comentarios

Entradas populares de este blog

Como un simple cambio de nombre en una fanpage me llevó con un bypass en el sistema linkshim de Facebook

Como un simple cambio de nombre en una fanpage me llevó con un bypass en el sistema linkshim de Facebook  Todo inició con el rediseño de marca de un noticiero digital, en el cuál se cambió el nombre, se cambió el logotipo, se cambiaron los nombres de twitter, el usuario de twitter, el instagram, pero OH! al llegar a facebook y hacer el cambio de url de dominio no hubo problema, pero el querer cambiar el nombre inició la pesadilla... "No podemos cambiar tu nombre de dominio debido a que puede ser engañoso para tus usuarios, etc... etc... etc...". Eso es lo primero que me llegó al intentar cambiar el nombre de dominio, pero para mi suerte, vi un botón de "apelación". ¡Que bien! Puedo apelar y dar mis razones de por qué estoy cambiando el nombre.  Y así empiezo:  " Querido FB, Recientemente la empresa xxxx está en un rediseño de marca e imagen, por lo que agradecería puedan ayudarme con el cambio de nom...

Solución [fix] a hamachi Logging in .. failed, busy

Hola! Aquí con una pequeña entrada, pero que a más de uno le será útil. Tengo hamachi instalado en varias máquinas, pero en una precisamente al reiniciar, algunas veces me da este problema: usuarioserver@server:~$ sudo hamachi login [sudo] password for usuarioserver: Logging in .. failed, busy Lo busqué en internet y la "solución" que dan, es reinstalar hamachi, y para los que han instalado hamachi en ubuntu, saben que no es una opción, pues se tendrían que hacer estos pasos:  sudo apt-get remove logmein-hamachi sudo dpkg -i logmein-hamachixxx.deb sudo apt-get install -f Para lo cual (siempre) es molesto hacer esos pasos, y algunas veces la configuración se llega a perder.  Para solucionar ese problema, basta con hacer un:  sudo /etc/init.d/logmein-hamachi force-reload Esto forzará el reinicio de hamachi, y así después hacen:  sudo hamachi login Y listo, el problema de failed busy desaparece y los deja loguear bien en la re...

Integrar API de Google Maps, archivos kml, kmz y otras fumarolas :D

Ya que andamos en eso de la posteada ahora les voy a dejar un pequeño manual sobre como integrar la API de maps (google) dentro de nuestro código, hay varia documentación en la página developers de google, pero realmente lo que uno busca cuando pone en google: "integrar api de maps" es ver un ejemplo claro y directo para que se pueda entender de mejor forma. Así que pues ya comentada la información de arriba les paso a dejar un ejemplo. Lo primero que tenemos que poner en nuestro código es la llamada a la API de maps: < script type = " text/javascript " src = " http://maps.googleapis.com/maps/api/js?sensor=false&language=es " > < / script > En este caso la variable sensor está en false, esto nos indica que no hay un dispositivo gps que pueda tomar la ubicación (se pone generalmente en true cuando es para aplicación movil, llámese celular o tableta) El lenguaje declaramos español, esto es para los menús que se van a most...