Quiénes somos?   Contacto





Qué anda caliente:

  • None found


  • Últimos comentarios:

  • Muebles de Oficina:
    Muebles de Oficina La Bitacora del...
  • Lantean iOS:
    Lantean iOS La Bitacora del Capitan ...
  • Muebles de Oficina:
    Muebles de Oficina La Bitacora del...
  • Lantean:
    Lantean La Bitacora del Capitan »...
  • Tecnicel:
    Hola, Estoy buscando el truco...
  • Emily:
    Andrini: pasame una dirección de...
  • Muebles de Oficina:
    Muebles de Oficina La Bitacora del...
  • gabriel:
    Gente esto es largo y...
  • Mariel:
    hola a todos. aun sigo...
  • Lantean Thoughts:
    Lantean Thoughts La Bitacora del Capitan ...
  • graciela andrini:
    Es mejor seguir con la...
  • graciela andrini:
    Emily: serías tan amable de...
  • Mariel:
    Hola, soy Mariel, tengo 37...
  • iOS Engineering Blog:
    iOS Engineering Blog La Bitacora del...
  • ruben:
    vayan a un neurocirujano,,,,,,,,no queda...


  • Los de siempre:

  • Hernia de Disco (357)
  • Un'estate italiana (90)
  • El clásico "Truco" (41)
  • VoipBuster... mmm se me hace agüita la boca (36)
  • Clásicas (33)
  • piqueteros... (30)
  • Porqué Windows Vista va a fracasar (29)
  • Software Clásico: Pc Globe (26)


  • Categorías:

  • General
  • Programación
  • Internet & Tech
  • Medios
  • Blogs
  • Links
  • Google
  • Humor & tiempo libre
  • Software


  • Recomendados


    Archivos:

  • Noviembre 2011
  • Octubre 2010
  • Julio 2010
  • Mayo 2010
  • Abril 2010
  • Marzo 2010
  • Febrero 2010
  • Diciembre 2009
  • Noviembre 2009
  • Octubre 2009
  • Septiembre 2009
  • Agosto 2009
  • Julio 2009
  • Junio 2009
  • Mayo 2009
  • Abril 2009
  • Marzo 2009
  • Febrero 2009
  • Enero 2009
  • Diciembre 2008
  • Noviembre 2008
  • Octubre 2008
  • Septiembre 2008
  • Agosto 2008
  • Julio 2008
  • Junio 2008
  • Mayo 2008
  • Abril 2008
  • Marzo 2008
  • Febrero 2008
  • Enero 2008
  • Diciembre 2007
  • Noviembre 2007
  • Octubre 2007
  • Septiembre 2007
  • Agosto 2007
  • Julio 2007
  • Junio 2007
  • Mayo 2007
  • Abril 2007
  • Marzo 2007
  • Febrero 2007
  • Enero 2007
  • Diciembre 2006
  • Noviembre 2006
  • Octubre 2006
  • Septiembre 2006
  • Agosto 2006
  • Julio 2006
  • Junio 2006
  • Mayo 2006
  • Abril 2006
  • Marzo 2006
  • Febrero 2006
  • Enero 2006
  • Diciembre 2005
  • Noviembre 2005
  • Octubre 2005
  • Septiembre 2005
  • Agosto 2005
  • Julio 2005
  • Junio 2005
  • Mayo 2005
  • Abril 2005
  • Marzo 2005
  • Febrero 2005
  • Enero 2005
  •  


    Otros:

    Identificarse
    Registrarse

    Meta:
    RSS 2.0
    RSS 2.0 de los comentarios
    Inválido!







    5/3/2007
    Mysqldump version fix

    Arrancamos la semana con un poco de cuestiones técnicas.

    Para quiénes están en el mundo LAMP, o simplemente están en contacto -por ejemplo para administrar- un mysql, va este pequeño tip, muy útil al momento de hacer mudanzas de servidores en los cuáles difiere la versión del mysql.

    El comando

    El problema aparece cuando utilizamos el comando “mysqldump” de una versión más nueva del servidor, digamos alguna de las serie 4, y pretendemos hacer el restore en una serie 3. ¿el resultado? errores.

    ¿porqué?

    Porque lógicamente las versiones más nuevas del mysql tienen más funcionalidades y características, habitualmente no soportadas por las versiones anteriores (por ejemplo comando “union”, timestamps on update/on delete, default charset, etc.) que, al ser interpretadas al momento del restore, generan error.

    El comando “–compatible”

    La respuesta viene de la mano del mismo comando mysqldump, con un switch no documentado llamado “–compatible” (noten doble slash adelante) disponible a partir de la versión 4.0, que permite generar un código de salida compatible con determinados servidores.
    Así entonces si quisiera generar código compatible con la versión 3.23, y en un ejemplo muy sencillo, diría:

    mysqldump -uroot -p –opt databasename –compatible=mysql323 > dumpfilename

    Y así como tengo disponible mysql323, tenemos:

    • ansi
    • mysql323
    • mysql40
    • postgresql
    • oracle
    • mssql
    • db2
    • maxdb
    • no_key_options
    • no_table_options
    • no_field_options

    El código generado entonces apunta al servidor “destino-compatible”, aunque por ejemplo en los casos de oracle y sql server no se garantiza que se trasladen las funcionalidades avanzadas ni todas las características de las tablas.

    Conclusión

    Considerando que no está documentado, y que de a poco los servidores Mysql se iran actualizando a nuevas versiones, es importante tener a mano este comando. No digas que no te avisé ;)



    Por Ignacio a las 3:03 am

    10 Comentarios »

    Trackback URL

    La verdad que hace una semana atrás me hubiera venido fabuloso. Pero de todas formas nunca es tarde para saberlo. Muchas gracias por el dato!

    Publicado por WalteR Funk — 5/3/2007 @ 9:04 am

    Es un tip de mucha importancia como para no estar documentado!. Me ha tocado pasar de MySQL5 a MySQL4 y mas de un dolor de cabeza padeci.

    Publicado por Adrian Ramiro — 5/3/2007 @ 10:02 am

    Muy bueno Nacho.
    Digo, ¿no te queda por ahi uno sobre optimización de my en máquinas pedorras, tipo con 160 - 256 Mb RAM?
    Tengo las tarlipes al plato buscando donde expliquen en detalle que significa cada linea del archivo de configuración de my. Y hasta la ayuda de my es desastrosa en este sentido.

    Publicado por Javier Salinas — 5/3/2007 @ 11:32 am

    Walter: lamento llegar tarde :)

    Adrián: totalmente de acuerdo! mirá que revisé todo mysql.com e incluso la ayuda propia del mysql y no hay nada.

    Javier: gracias, teoricamente mysql debería funcionar perfecto en una máquina con esa memoria, incluso con menos, utilizando una correcta configuración de “query-caching” e índices. Te recomiendo la lectura de este blog que tratan muy bien y muy seguido de estos temas.

    Publicado por Ignacio — 5/3/2007 @ 4:49 pm

    jejeje, claro, “debería” funcionar perfecto, pero, la realidad a veces tiene esas cosas raras que se hacen difíciles de entender, sobre todo cuando la fuente para entenderlo es algo, como decir, escasa.
    Te agradezco el link y me pongo a leer a ver si puedo bajar un poco el consumo de memoria de un my que se volvió loco.

    Publicado por Javier Salinas — 6/3/2007 @ 7:38 am

    Y qué hay de “man mysqldump”? No es acaso ese el primer lugar en el que hay que buscar?

    “This option does not guarantee compatibility with other servers. It only enables those SQL mode values that are currently available for making dump output more compatible.”

    Publicado por Juan — 12/3/2007 @ 9:41 am

    (Perdón por el comentario doble)

    Otra cosa que queria aclarar es que si la intención es pasar de MySQL a otro servidor SQL lo que hay que utilizar son las herramientas propias de import/export de cada servidor y no esperar que mysql lo haga todo.

    Saludos

    Publicado por Juan — 12/3/2007 @ 9:44 am

    Juan, debo ser yo, porque lo probé en cinco servidores distintos, e incluso en linuxmanpages.com y man.he.net y en ningún lado encuentro que hable del “–compatible” :(

    Publicado por Ignacio — 12/3/2007 @ 10:24 am

    Quizás no está en el MANPATH, como es en mi caso porque MySQL está instalado bajo otro prefix.

    Pero posta que existe, al menos a partir de la versión 5.0.24a… incluso probando en otro server con la versión 4.1.21 tambien funcó.

    Fijate en $prefix/share/man/man1/mysqldump.1

    Igual, el artículo es una joyita. Me parece una iniciativa genial que la gente pueda leer documentación en nuestra lengua.

    Saludos.

    Publicado por Juan — 14/3/2007 @ 12:22 am

    […] Según este Wordpress, estoy escribiendo el post N° 300, descontando los borradores destrozados por la ira de ver un engendro impublicable. Asi que para festejar, nada mejor que publicar un hallazgo que no digo que me solucionó la vida, pero si que me está siendo útil y por eso lo comparto. Hace unos días, Ignacio, publicó una función no documentada del mysqldump. Y yo andaba buscando documentación sobre como optimizar MySQL, obviamente, por culpa de un servidor viejito, lento y con poca memoria. De haber tenido un dual core con 2 Gb de RAM esto no hubiera ocurrido Pero, como estamos en Argentina, esa que calcula que solo el 30 % de las PCs que se vendan este año podrá soportar Windows Bosta, agarramos el alambre dulce, la cinta aisladora, la gotita y el MySQL Performance Tuning Primer Script. Que es un script muy interesante, ya que no solo nos da una idea de como está funcionando nuestro my, sino que además se atreve a darnos algunas recomendaciones para modificar la configuración. Justamente, esto era lo que andaba buscando, ya que muy poca gente publica recomendaciones, aunque mas no fuera iniciales, para luego ir retocando. La mayoría te tira “esta es mi configuración en un PIV 3 Ghz con 1 Gb RAM” y te dice que va bien. ¿Va bien?, claro que va bien, para mantener un foro con 500 visitas diarias, con ese cacharro a mi también me andaría como una Ferrari. Bue, dejo de llorar y muestro su funcionamiento. Para eso, nada mejor que algunas de las informaciones que tira: — MYSQL PERFORMANCE TUNING PRIMER – - By: Matthew Montgomery - […]

    Publicado por Cada loco con su blog, no? » Blog Archive » MySQL tunning — 23/6/2007 @ 3:10 am

    Leave a Reply



     

    Powered by WordPress