Migración y recuperación de bases de datos MySQL en Mac Os X

Ayer me instalé la última versión de MySQL (5.0.67) en el Mac de la oficina (PowerPC G5 con Mac OS X 10.4.11) para utilizarla en el entorno de desarrollo de las aplicaciones en las que estoy trabajando, y me surgió la necesidad de migrar las bases de datos que tenía almacenadas en la versión de MySQL que tenía antes instalada.

Ni que decir tiene, que lo mas inteligente que todo administrador (o encargado en parte de la administración de una base de datos) puede hacer por la seguridad de los datos sobre los que pesa su responsabilidad, es tener siempre disponible un copia de seguridad actualizada (En un archivo SQL, por ejemplo) tanto de la estructura de la base como de los datos almacenados en la misma. En los casos en los que no se haya previsto esto, la solución que voy a tratar de explicaros aquí podría ser una solución para sacar de un apuro a mas de uno.


Lo primero que debemos saber es que, afortunadamente, la estructura y los datos de nuestras bases existen físicamente almacenados en una carpeta perteneciente al árbol de directorios de la versión de MySQL que tengamos instalada. El directorio del que estamos hablando es “data” (mysql->data).

El directorio en el que suele instalarse MySQL en Mac OS X es “local” en /usr/local/. Dentro de “local” encontraremos el directorio que contiene todas las carpetas y archivos de los que consta la versión de MySQL que se tenga instalada, en mi caso “mysql-5.0.67-osx10.4-powerpc-64bit“. Es aquí donde podremos encontrar el directorio “data”.

Árbol de Directorios de MySQL

Árbol de Directorios de MySQL

Para poder acceder a los datos de “data” debemos tener permisos de administración. (El propietario de este directorio es mysql). Por ello lo mas sencillo es abrir una sesión de usuario como root para poder acceder al contenido de este directorio sin problemas. Una vez dentro de este directorio veremos como además de otros archivos (logs) que ahora no nos ocupan, nos encontramos con una serie de carpetas. Cada una de estas carpetas contiene los archivos que componen una base de datos.

Por ejemplo, imaginemos que tenemos una base de datos llamada “carrito”, compuesta por dos tablas “inventory” y “shopping”. Este sería el contenido del directorio “carrito” contenido en “/data”.

Contenido del directorio carrito

Contenido del directorio carrito

Podemos encontrarnos con otro archivo llamado “db.opt” en el que pueden estar definidos, por ejemplo el Set de Caracteres (CHARSET) definido en la base …

Pero los archivos fundamentales con los tres archivos que componen cada tabla de tipo MyISAM (motor de almacenaje utilizado por defecto en MySQL) . Los archivos tienen el nombre de la tabla y una extensión que indica el tipo de archivo:

  • .frm: Contienen la información sobre la estructura de las tablas.
  • .MYD: (Database diagram file) Contienen los registros de datos.
  • .MYI: Contiene el Indice de una tabla MyISAM creada en una base de datos MySQL. Define la estructura de la tabla e incluye un contador en al cabecera que muestra si la tabla a sido o no cerrada apropiadamente.

Es fundamental que existan estos tres archivos por cada tabla de nuestra base de datos. No nos bastaría con tener, por ejemplo, tan solo el archivo .frm.

La operación para realizar la migración es muy sencilla. Debemos asegurarnos de que nuestro servidor MySQL esta parado. Una vez comprobado esto bastará con copiar el directorio completo con nuestra base de datos (por ejemplo, en nuestro caso el que hemos visto mas arriba, “carrito”), al directorio data de la versión MySQL que acabamos de instalar. Cuando hagamos correr de nuevo el servidor MySQL y realizemos una consulta que nos muestre las bases de datos alojadas “carrito” y las tablas que la componen deberá estar entre ellas.

Anuncios

4 Responses to Migración y recuperación de bases de datos MySQL en Mac Os X

  1. Franklin dice:

    Quiero instala MySQL me pueden ayudar???

  2. Ruben dice:

    Hola Franklin;

    voy a a darte dos opciones;

    La primera de ellas, la mas sencilla pero no por ello la mejor: MAMP [http://www.mamp.info], un paquete que viene con PHP, MySQL y Apache. Mac OS X viene preparado con PHP y Apache como servidor Web, de modo que está opción puede ser válida pero no es la más recomendable.

    Para instalar la última versión de MySQL (la 5) en tu Mac nada mas sencillo que acudir a esta dirección http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg para descargarte el paquete (.dmg) con la instalación de MySQL para la versión de Mac OS X que tengas como sistema operativo en tu Mac.

  3. Franklin dice:

    Gracias!! Ruben por toda tu ayuda, todos estos precess me paren muy complicados todavia no e podido dar pien con bola ( no dar con una solución acertada).
    Agradesco toda tu ayuda.

  4. Albert dice:

    Buenas tardes,
    Tengo un servidor Mac OS X, ejecutando una aplicación interna desarrollada en PHP en un servidor Apache y atacando a una base de datos MySQL. El cliente quiere que le traspase la apliación a un nuevo servidor que ha comprado con windows 2003 Server. ¿Es posible hacer funcionar la aplicación PHP y todos los componentes con garantías?
    Muchas gracias por vuestra ayuda

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: