Saltar al contenido

Exportar e importar vistas en MySQL ejemplo completo

Exportar e importar vistas en MySQL. El tema de exportación de vistas en MySQL suele ser un problema, pero en este articulo daremos 2 opciones prácticas para darles solución: Personalizado al exportar y modificación al fichero por parte del usuario.

¿Es importante Exportar e importar vistas?

En efecto, realizar copias de seguridad de tus sitios y base de datos es prácticamente imprescindible. Al hablar de backups o copias de seguridad, no solo nos referimos a los archivos de la web, sino también a las bases de datos (BBDD).

Exportar e importar vistas en MySQL

Exportar e importar vistas en MySQL

Realizar una copia de respaldo de las bases de datos es muy importante. Para mitigar en casos de que surja cualquier incidente catastrófico, como algún tipo de hackeo o pérdida de información, tener una copia de seguridad de tu base de datos nos permitirá ejecutarla y restaurarla en cualquier momento.

Errores al importar vistas en phpMyAdmin

El problema al importar el fichero SQL a otro servidor da error porque el usuario myuser no existe. Y lo que es peor, se dejan de ejecutar todos los comandos de creación de índices, etc.

Esto tiene una solución sencilla, que es editar el archivo de exportación generado y quitar esa parte, dejándolo así:

¿Como exportar Vistas en phpMyAdmin?

Al usar la herramienta de exportar de Phpmyadmin se añade un control de seguridad a las vistas. Por ejemplo:

CREATE ALGORITHM=UNDEFINED DEFINER=`myuser`@`localhost` SQL SECURITY DEFINER VIEW `documentrequestview`

La definición de usuario actual, suele traer problemas a la hora de importar en otro servidor porque no coincide el nombre de usuario MySQL. Por lo tanto, para evitar esos detalles es recomendable quitarlos y existen dos formas:

a) Al exportar base de datos

Cuando estemos exportando tablas y vistas debemos de elegir la opción personalizado y luego buscar el grupo llamado «Opciones de creación de objetos«. Ahora, solo queda activar la casilla de verificación llamado: «Excluir la definición de usuario actual«.

Con esto le estamos diciendo al gestor que no exporte con la definición del usuario actual.

Excluir la definición de usuario actual

Excluir la definición de usuario actual

b) Editando en fichero SQL exportado

Si ya tenemos un fichero SQL ya exportado y contiene vistas, solo debemos de reemplazar la definición de usuario MySQL. Veamos un ejemplo.

Buscamos la sentencia de creación de vistas y observamos la siguiente línea

CREATE ALGORITHM=UNDEFINED DEFINER=`myuser`@`localhost` SQL SECURITY DEFINER VIEW `documentrequestview`

Debemos de reemplazarlo por esto

CREATE VIEW `documentrequestview`

Si observamos hemos quitado esto: ALGORITHM=UNDEFINED DEFINER=`myuser`@`localhost` SQL SECURITY DEFINER. Estos datos describen y definen el usuario de la vista y que genera error al importar en otra base de datos.

Con esta estrategia funciona correctamente y solo hay que hacerlo a mano usando un editor de su preferencia.

Conclusión

En este articulo hemos aprendido a gestionar las vistas correctamente al momento de importar o exportar. Si tienen problemas similares ya saben cómo darles solución.

Hemos aprendido a aplicar las opciones de exportación en phpMyAdmin correctamente para que no agregue o defina al usuario MySQL.

También, hemos aprendido a limpiar de manera manual un fichero SQL ya exportado.

Espero que esta breve explicación les ayude en sus proyectos web.

2 Comment on this post

  1. Hola, excelente tutoría.
    Pero lo que yo pretendo hacer es exportar una vista como tabla. Esta opción está disponible en MYSQL de PHPMyAdmin, y hace la exportación del resultado de la vista perfectamente, con todos los parámetros para Heber la posterior carga en otro servidor.
    Lo que no consigo es generar la sql que haga el proceso.
    ¿Me puedes ayudar? Gracias de antemano.

Join the conversation

Tu dirección de correo electrónico no será publicada.