Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Completo tutorial de PHP - Migrar una base de datos a MySQL

Completo tutorial de PHP - Migrar una base de datos a MySQL

 ****- (5 opiniones)
Creative Commons Tutorial de Indaya.com - 14 de Septiembre de 2005
Temas Relacionados: PHP
31. Migrar una base de datos a MySQL
El último caso en el que nos podemos encontrar a la hora de subir una base de
datos a nuestro proveedor de alojamiento es que la base de datos la tengamos
creada en local, pero en un sistema gestor distinto del que vamos a utilizar en
remoto. En remoto suponemos siempre que vamos a utilizar la base de datos
MySQL.
En local podríamos disponer de una base de datos Access, SQL Server o de otro
sistema de base de datos.

El proceso de la migración puede ser bastante complejo y, como hay tantas bases
de datos distintas, difícil de dar una receta que funcione en todos los casos.
Además, aparte de la dificultad de transferir la información entre los dos
sistemas gestores de base de datos, también nos influirá mucho en la complejidad
del problema el tipo de los datos de las tablas que estamos utilizando. Por
ejemplo, las fechas, los campos numéricos con decimales o los boleanos pueden
dar problemas al pasar de un sistema a otro porque pueden almacenarse de maneras
distintas o, en el caso de los números, con una precisión distinta.



Recomendaciones para migrar de Access a MySQL

Si nuestra base de datos anterior estaba construida en Access lo tenemos
bastante fácil, gracias a que MySQL dispone de un driver ODBC para sistemas
Windows, que nos permite conectar Access con el propio MySQL y pasar información
fácilmente.

Este tema está relatado en el artículo Exportar datos de MySQL a Access, aunque
hay que indicar que si deseamos hacer una exportación desde Access en local a
MySQL en remoto puede haber problemas porque no todos los alojadores permiten
las conexiones en remoto con la base de datos. Si no tenemos disponible una
conexión en remoto con nuestro servidor de bases de datos vamos a tener que
cambiar la estrategia un poco.

La idea en este último caso es instalar MySQL en local y realizar la migración
desde Access en local a MySQL en local y luego podríamos hacer un backup de la
base de datos local y subirla a remoto, tal y como se ha relatado antes.



Recomendaciones para migrar desde SQL Server a MySQL

La verdad es que no he tenido este caso nunca, pero hay que decir que Access
también nos puede ayudar en este caso. Access permite seleccionar una base de
datos SQL Server y trabajar desde la propia interfaz de Access. La idea es que
Access también permite trabajar con MySQL y posiblemente haciendo un puente
entre estos dos sistemas gestores podemos exportar datos de SQL Server a MySQL.

Lo que es seguro que utilizando el propio Access de puente podríamos realizar el
trabajo. Primero exportando de SQL Server a Acess y luego desde Access a MySQL.



Otras bases de datos u otras técnicas

Si la base de datos origen dispone de un driver ODBC no habrá (en teoría)
problema para conectarla con Access, de manera similar a como se conecta con
MySQL. Entonces podríamos utilizar Access para exportar los datos, porque desde
allí se podrían acceder a los dos sistemas gestores de bases de datos.

Si no tenemos Access, o la base de datos original no tiene driver ODBC, o bien
no nos funciona correctamente el proceso y no sabemos cómo arreglarlo, otra
posibilidad es exportar los datos a ficheros de texto, separados por comas o
algo parecido. Muchas bases de datos tienen herramientas para exportar los datos
de las tablas a ficheros de texto, los cuales se pueden luego introducir en
nuestro sistema gestor destino (MySQL) con la ayuda de alguna herramienta como
PhpMyAdmin.

Para ello, en la página de propiedades de la tabla encontraremos una opción para
hacer el backup de la tabla y para introducir ficheros de texto dentro de una
tabla (Insert textfiles into table en inglés). 


enlace para acceder al menú de inserción de archivos de texto


Accediendo a ese enlace podremos ver un formulario donde introducir las
características del fichero de texto, como el carácter utilizado como separador
de campos, o el terminador de líneas, etc, junto con el propio archivo con los
datos, y PhpMyAdmin se encargará de todo el trabajo de incluir esos datos en la
tabla. 


menú de inserción de archivos de texto


Como se habrá supuesto, es necesario tener creada la tabla en remoto para que
podamos introducirle los datos del fichero de texto.



Cambios de un formato de datos a otro

Toda la migración tiene que tener en cuenta muy especialmente, como ya se señaló,
las maneras que tenga cada base de datos de guardar la información, es decir,
del formato de sus tipos de datos. Tenemos que contar siempre con la posible
necesidad de transformar algunos datos como pueden ser los campos boleanos,
fechas, campos memo (texto con longitud indeterminada), etc, que pueden
almacenarse de maneras distintas en cada uno de los sistemas gestores, origen y
destino.

En algunos casos posiblemente tengamos que realizar algún script que realice los
cambios necesarios en los datos. Por ejemplo puede ser para localizar los
valores boleanos guardados como true / false a valores enteros 0 / 1, que es
como se guarda en MySQL. También las fechas pueden sufrir cambios de formato,
mientras que en Access aparecen en castellano (dd/mm/aaaa) en MySQL aparecen en
el formato aaaa-mm-dd. PHP puede ayudarnos en la tarea de hacer este script,
también Visual Basic Script para Access puede hacer estas tareas complejas y el
propio lenguaje SQL, a base de sentencias dirigidas contra la base de datos,
puede servir para algunas acciones sencillas.

Autor y licencia de 'Completo tutorial de PHP - Migrar una base de datos a MySQL'
Indaya.com Extraído de: http://www.indaya.com

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Completo tutorial de PHP - Migrar una base de datos a MySQL'

La instalación de estos programas es muy fácil, PHP y MySQL vienen comprimidos en formato... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Aquí dejo una clase que hice hace tiempo para tratar bases de datos MYSQL.
Su principal objetivo de diseño fue la velocidad, por ello se suprimieron algunas características de... Más »
Una base de datos es sencillamente un conjunto de tablas en las que almacenamos distintos... Más »
¿Estás seguro de que deseas eliminar este capítulo?