[eside-ghost] Migracion MySql

Pablo Garaizar Sagarminaga garaizar en eside.deusto.es
Lun Abr 2 09:18:07 CEST 2007


Aupa!

El Fri, 30 Mar 2007 19:51:02 +0200
Alvaro Uría <fermat en movimage.com> comentaba:

> > Por de pronto la idea es migrar una 4 a una 5... Tenia mas o menos
> > claro hacerlo con un dump... pero hasta k punto me puedo encontrar
> > con problemas ?????
> Desde luego, de 5.x a 4.x creo recordar que tienes que pasar un
> parámetro a mysqldump del 5.x para guardar compatibilidad hacia
> atrás, y aún así me suena que quedaban algunos mini-fallos
> sintácticos que resolver.

Sí, hay algunas cosillas que hay que resolver. En mi blog conté mi
experiencia, quizá te sirva..

Exportar la base de datos MySQL del blog

En godaddy todavía usan un vetusto MySQL 4.0.x y en el servidor de
casa, después de ir migrando desde MySQL 3.3.x hasta MySQL 5.0.x ya no
sabía ni lo que tenía, así que a la hora de hacer el mysqldump hubo
unos pocos problemas:

   1. Diferentes charsets en las bases de datos.
   2. Diferentes versiones, diferente SQL.
   3. Comentarios no soportados a la hora de importar la base de datos.

Todos los problemas se resuelven fácilmente:

   1. El charset, utilizando la opción --default-character-set al
exportar y usando iconv para pasar de un charset a otro.
   2. Las versiones de MySQL, usando la opción --compatible=mysql40.
   3. Los comentarios, con sed o el propio vi.

Así pues, la cosa quedaría de esta manera:

mysqldump --default-character-set=latin1 --compatible=mysql40 -u
usuario -p > basededatos-latin1.sql

iconv -f iso-8859-15 -t utf8 basededatos-latin1.sql >
basededatos-utf8.sql

sed -e "s/\/\*.*\*\///g" < basededatos-utf8.sql > basededatos-fin.sql

Con el sed lo que hago es sustituir el patrón /*algo*/ por nada (la
cadena vacía), lo que pasa que como hay que escaparlo todo con \s queda
un poco farragoso de entender.


-- 
  Pablo Garaizar Sagarminaga
  ONTE (Oficina de Nuevas Tecnologías y Educación)
  Universidad de Deusto
  Avda. de las Universidades 24
  48007 Bilbao - Spain

  Phone:       +34-94-4139000 Ext 2980
  Fax:                  +34-94-4139101
  Web:     http://onte.eside.deusto.es


Más información sobre la lista de distribución eside-ghost