tag:blogger.com,1999:blog-123861292009-03-02T02:08:00.964-08:00Mysql en CastellanoNotas, noticias y comentarios sobre MySQL en idioma castellano.GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-12386129.post-3281569264119770932007-01-16T04:42:00.000-08:002007-01-16T04:50:02.241-08:00Diagnóstico de la tabla de usuariosEn los últimos tiempos he notado una serie de artículos en las listas y foros hablando de problemas de conexión y con la cuentas de usuarios. Muchos de estos problemas tienen algún tipo de relación con la definición de estas cuentas. El objetivo de este artículo es mostrar como examinar la tabla de usuarios para entender su funcionamiento básico para diagnosticar, y posiblemente descartar, los problemas más sencillos. <h3> Antes que nada ...<br /></h3> ... es necesario diagnosticar si es posible conectarse al servidor. Para esto se debe usar el utilitario <span style="font-weight: bold;">mysqladmin</span> de acuerdo a las instrucciones en la <a href="http://dev.mysql.com/doc/refman/5.0/en/unix-post-installation.html#starting-server" title="sección 2.4.15.2.3.">sección 2.4.15.2.3.</a> del manual.<br /><h3> Como definir las cuentas de usuarios </h3> Es posible definir usuarios usando el cliente interactivo (<span style="font-weight: bold;">mysql</span>) o el cliente gráfico (<span style="font-weight: bold;">MySQL Administrator</span>).<br /><br /><span style="font-weight: bold;">mysql: </span>En este caso se deben usar los comandos <span style="font-weight: bold;">CREATE USER</span> y/o <span style="font-weight: bold;">GRANT</span>. La sintáxis está explicada en la <a href="http://dev.mysql.com/doc/refman/5.0/en/adding-users.html" target="blank_" title="sección 5.9.2 del manual">sección 5.9.2 del manual</a>. Los parámetros más significativos son: <span style="font-weight: bold;">user </span>- nombre de usuario, <span style="font-weight: bold;">host</span> - identificación de la terminal de donde viene la conexión y <span style="font-weight: bold;">password </span>- clave de usuario.<br /><br /><span style="font-weight: bold;">MySQL Administrator: </span>En este caso es la interfase es suficientemente intuitiva y solo se deben seguir las instrucciones en pantalla. Por defecto el usuario <span style="font-weight: bold;">root</span> está habilitado solo para conectarse a la BD en servidor (<span style="font-weight: bold;">localhost</span>). Los demás usuarios, por defecto, pueden conectarse desde cualquier terminal. En este caso, que un usuario solo pueda conectarse desde una terminal determinada (o grupo), se debe especificar el host: se debe hacer click con el botón de la izq del mouse y especificar la terminal o conjunto de terminales usando el caracter '%' como comodín. por ejemplo: usuario@%, usuario@192.168.1.%, usuario@servidor_%, usuario@servidor_uno.<br /><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></span> <h3> Como revisar las cuentas de usuarios </h3> Esta parte es relativamente fácil. Primero hay que conectarse a la base de datos usando el cliente interactivo (<span style="font-weight: bold;">mysql</span>) o el cliente GUI (<span style="font-weight: bold;">MySQL Browser</span>) como usuario <span style="font-weight: bold;">root</span>. Una vez conectado, hay que asegurarse que estamos usando la base de datos <span style="font-weight: bold;">mysql</span> con el comando:<br /><blockquote> <div style="margin-left: 40px;"> <span style="font-size:100%;"><span style="font-family: Times New Roman;"><blockquote>use mysql</blockquote></span></span> </div> </blockquote> A continuación hay que ejecutar el siguiente query:<br /><blockquote> <div style="margin-left: 40px;"> <span style="font-size:100%;"><span style="font-family: Times New Roman;"> SELECT user, host, password FROM user;</span></span><br /></div> </blockquote>El resultado tiene toda la información necesaria a los efectos de este artículo.<br /><h3> Problemas potenciales </h3> Ahora viene la parte interesante. Los problemas más comunes estan relacionados con la password o la definición de los hosts. Ejemplos incluyen password que cayeron en el olvido, hosts definidos en forma ambigua, problemas con el DNS, etc.<br /><br /><span style="font-weight: bold;">Password: </span>Que pasa cuando uno se olvidó de la password? En el caso que éste problema sea con la cuenta <span style="font-weight: bold;">root</span>, se debe correr el servidor sin seguridad usando la opción <a href="http://dev.mysql.com/doc/refman/5.0/en/privileges-options.html" title="Opciones de seguridad">--skip-grant-tables</a>. A partir de ahi se puede usar los procedimientos descriptos en el siguiente párrafo.<br /><br />La mejor forma de resolver este problema es reestablecer la password de un usuario con el comando:<br /><br /> <span style="font-family: times new roman;">SET PASSWORD FOR 'usuario'@'%' = PASSWORD('clave_usuario');</span> <blockquote></blockquote>'usuario', '%' y 'clave_usuario' deben ser reemplazados por los valores adecuados. Los detalles a los que se debe prestar atencion aquí son '%' y la función PASSWORD(). El primero es necesario para describir el grupo de servidores para los cuales se aplica el cambio. La función PASSWORD() se ocupa de encriptar en forma adecuada la clave de usuario. Los resultados se pueden probar conectandose desde un 2o cliente, preferentemente desde una terminal distinta sin desconectar el cliente desde se estan modificando los datos.<br /><h3> Soluciones<br /></h3> a. Una de las areas en las que se presentan problemas frecuentemente es en el hecho que si se especifica el host como '<span style="font-weight: bold;">%</span>', esto no implica que incluya '<span style="font-weight: bold;">localhost</span>'. O sea, que será posible conectar al usuario en forma remota, pero no local. Se requiere una entrada para '<span style="font-weight: bold;">localhost</span>' y otra para los servidores remotos. Por defecto <span style="font-weight: bold;">MySQL Administrator</span> crea los usuarios con '<span style="font-weight: bold;">localhost</span>' como host. Agregar nuevos hosts no es intuitivo, pero es más sencillo usando la herramienta gráfica:<br /><br /><div style="margin-left: 40px;"> <ol><li> Seleccionar el usuario deseado </li><li> Presionar el botón derecho del mouse </li><li> Seleccionar la opción para cambiar el host </li><li> Especificar el host o familia de hosts usando el caracter comodín ('%')<br /> </li></ol> </div><br />b. Alternativa usando <span style="font-weight: bold;">ssh</span>. En este caso se está creando una conexión encriptada mediante el re-direccionamiento de puertos, o túnel. El servidor MySQL verá a la conexión como local y <span style="font-weight: bold;">no</span> como remota. En este caso todos los usuarios deben tener '<span style="font-weight: bold;">localhost</span>'<br /><br />c. Especificando nombres de servidores. La forma más común de especificar un PC desde donde un usuario puede comunicarse es mediante el nombre. Si el nombre de las terminales desde donde se conectarán los usuarios tienen un nombre compuesto con algunos caracteres en común, es posible usar el caracter '%' como comodín. Por ejemplo: '%' implica autorizar la conexión desde cualquier terminal remota; 'term%' implica autorizar la conexión desde cualquier terminal remota cuyo nombre empiece con 'term' (term_of1, term_of2, etc). En este caso, si MySQL no puede resolver el nombre de la terminal, la conexión no se podrá establecer. De ser posible, es preferible especificar direcciones de IP, por ejemplo: 192.168.1.%.<br /><h3> Conclusión </h3> Este documento no pretende hacer un análisis profundo de los distintos problemas que pueden aparecer tratandose de conectar a MySQL, solo ilustrar como diagnosticar y solucionar los problemas más sencillos y comunes. En el proceso he mencionado varios conceptos que recomiendo profundizar, en particular si tienen problemas serios. Tambien estoy mostrando una puerta a la base de datos del sistema, que puede ser de mucha utilidad para los administradores de sistemas.<br /><br />Finalmente, mucha de la información presentada acá puede ser usada para detectar problemas con la seguridad. Algunos ejemplos que recomiendo revisar son:<br /><br /><ol><li> Evitar que cualquiera puede parar y volver a arrancar el servidor. De ser así sería posible arrancar sin chequeo de seguridad tal como lo especifique arriba </li><li> No permitiar que el usuario root pueda acceder desde terminales remotas. Si fuera posible, un ataque remoto pasaría desapercivido. De necesitar permitir esto, considerar conectarse mediante ssh. </li><li> De ninguna manera dejar al usuario root sin password. Este es el error más frecuente, que combinado con el anterior (permitir conexiones remotas) sería nada menos que desastroso. Aunque parezca mentira esto se presenta con bastante frecuencia. </li></ol><br />Espero que esta información les haya servido como punto de entrada para diagnosticar las conexiones. Esto no implica que existan problemas más complicados, pero lo dejo para otra ocasión. Hasta la próxima.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-328156926411977093?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com1tag:blogger.com,1999:blog-12386129.post-1159577826170960482006-09-29T17:35:00.000-07:002006-10-02T17:24:18.900-07:00Podcast #3: Chau MySQL v4.0, hola Connector/.NET 5.0Una vergüenza que tarde tanto en hacer un podcast, pero sigo intentandolo. El resúmen de las novedades más importantes:<br /><br /><ol><li>Fin del <a href="http://www.mysql.com/company/legal/lifecycle/">ciclo de vida</a> de la versión 4.0 de MySQL</li><li>Publicación del <a href="http://dev.mysql.com/downloads/connector/net/5.0.html">Connector/.NET 5.0</a></li><li>Slides del <a href="ftp://ftp.gnarvaja.com.ar/podcast/WebinarCastellano0609.pdf">Webinar en español sobre Alta Disponibilidad</a></li><li>Email Warehouse (ver artículo anterior)</li></ol>Hasta la próxima.<br /><br /><a href="http://www.gnarvaja.com.ar/podcast/MySQLPodcast1.mp3">Archivo MP3</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-115957782617096048?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com1tag:blogger.com,1999:blog-12386129.post-1159572262987205592006-09-29T15:52:00.000-07:002006-09-29T16:24:23.030-07:00Depósito de Emails<span style="font-size:100%;">Durante un tiempo estuve buscando una herramienta para guardar los emails en una base de datos y poder usar SQL para buscar por contenido, recipiente, remitente, fecha (or rango), etc. Busqué en Sourceforge y Freshmeat, busqué con Google y no encontré nada específico. Encontré servidores de email con una base de datos, encontré clientes, pero ninguno tenía la información organizada para ser un verdadero depósito (datawarehouse). Entonces decidí empezar un proyecto yo mismo. Voy a compartir el proceso con Uds y espero recibir algunas ideas. Ni bien haya empezado a tomar forma lo voy a publicar en <a href="http://forge.mysql.com">http://forge.mysql.com</a> y aceptar contribuciones. Bueno acá va.</span><br /><br /><span style="font-size:100%;"><span style="font-weight: bold;font-size:130%;" >Descripción</span><br /><br />Armar una base de datos para depositar emails con el fin de realizar consultas complejas con lenguaje SQL. La base de datos tiene que contar con un <span style="font-weight: bold;">master</span> y un <span style="font-weight: bold;">esclavo</span>. El master tomará la información del cliente de email principal y replicará los mensajes al esclavo. Estoy pensando que el master será mi máquina de escritorio y my esclavo será mi laptop.<br /><br />El sistema tendrá que ser independiente del sistema operativo y deberá poder tomar los emails de la mayor cantidad de clientes posibles.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Lenguajes: Perl y C#</span></span><br /><br /></span><span style="font-size:100%;">Esta es con seguridad la parte más controvertida del proyecto. Hasta me cuesta a mi mismo llegar a una conclusión final. Por el momento voy a mantener todo como será descripto acá.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;"></span></span></span><span style="font-size:100%;">La orientación a objetos de ambos es muy importante, mantiene el código muy simple y limpio. Usaré Perl para la interacción con la BD. Es muy fácil escribir pequeños scripts rápidos de probar. El C# (.NET o Mono) es mucho más flexible para la interfase de usuarios. El desafío será desarrollar la mayoría del código Perl en Linux y el código C# en Windows y después juntar todo. Pero falta mucho para ese momento.<br /><br />Diseño conceptual del Sistema<br /><br />Este post es muy temprano para publicar un esquema, pero acá van las ideas principales para la versión 0.1:<br /><br /></span><ul><li>Empezar usando MySQL 5.0. No hay ninguna razón para no usar 5.1 que el hecho de no tenerlo instalado en mi desktop.</li></ul><ul><li><span style="font-size:100%;">Mantener todos los componentes lo más simple posible. Por ejemplo, en la 1a versión todo será codificado, nada de parámetros. Todo se manejará con scripts sueltos para verificar la lógica inicial.</span></li></ul><ul><li>En la base de datos inicial solo se registrará el remitente de cada email. Los campos "To:" y "Cc:" se guardaran como campo de texto variable para evitar las complicaciones de las relaciones muchos a muchos en la BD en la 1a versión.</li></ul><ul><li>Los objetos MIME se guardaran como BLOBS y se extraeran a archivos. No se incluirá inteligencia para adminstrar el contenido.</li></ul><ul><li>La versión inicial no usará SPROCS o Triggers.<br /></li></ul><br /><span style="font-size:130%;"><span style="font-weight: bold;">Conclusión</span></span><br /><br />Aunque se trata de un proyecto bastante limitado servirá para probar los conceptos más básicos y construir a partir de allí. Esto también lo tomo como ejercicio en el uso de MySQL, en particular utilizar las características más avanzadas.<br /><br />Hasta la próxima.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-115957226298720559?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com3tag:blogger.com,1999:blog-12386129.post-1152768010948382562006-07-12T22:09:00.000-07:002006-07-12T22:20:10.960-07:00Resucitó el podcastFinalmente decidí que el podcast es más adecuado para noticias y comentarios rápidos. Para las notas con detalles, es mucho mejor un blog. Un podcast minucioso lleva mucho tiempo para producir, y para cuando está terminado, basta con copiar el guión en un blog. Los invito a dejar sus comentarios e ideas. Tambien, si alguno se ofrece a mandarme efectos sonoros, cortinas musicales, etc.; prometo revisarlas y usarlos dandole crédito a los autores correspondientes.<br /><br />La segunda razón para resucitarlo fueron 2 herramientas nuevas: <a href="http://www.castblaster.com">CastBlaster</a> y <a href="http://www.feedburner.com">FeedBurner</a>. CastBlaster permite generar el mp3 en forma realmente fácil, y FeedBurner se ocupa de tomar el 'feed' de Blogger y encapsularlo con el audio y una serie adicional de herramientas muy útiles.<br /><br />Para suscribirse al podcast y/o al blog, hagan click en el ícono del feed a la izquierda. De esta manera figurarán en las estadísticas y tendré una idea para donde llevar el contenido.<br /><br />Hasta la próxima.<br /><br /><a href="http://www.gnarvaja.com.ar/podcast/MySQLPodcast0.mp3">Archivo MP3</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-115276801094838256?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1151608208689512392006-06-29T11:27:00.000-07:002006-06-29T12:10:08.756-07:00Que Linux usar?Hace unas semanas decidí que era hora que una de mis PCs en casa ya no aguantaba con la instalación de Linux que tenía y tenía que tomar alguna medida para estabilizarla. El tema empezó cuando decidí reemplazar W98 por <a href="http://www.knoppix.net/">Knoppix</a> hace aproximadamente 2 años. Durante este tiempo fui actualizando el SO con los repositorios de <a href="http://www.debian.org/">Debian</a> y funcionando con un kernel compilado por mi para acelerar la performance (es un viejo PIII). El resultado después de 2 años es que ya nadie sabe que está corriendo, que sobra, que falta, etc. Durante una ausencia reciente de casa, tuve varios reclamos de mis hijos sobre la confiabilidad de la PC ... lo cual me hizo pensar que tal vez era hora de reemplazar la instalación completa por alguna como la gente y mantenerla estable. La experiencia ganada durante este tiempo, más los adelantos en las distribuciones actuales hicieron que esta decisión fuera obvia.<br /><br /><strong>Que distribución usar?</strong><br /><br />Esta fue la parte difícil. Los criterios que seguí son:<br /><ol><li>Tiene que ser una de las distribuciones populares para poder conseguir soporte de la comunidad y dentro de la misma companía</li><li>Tiene que incluir las últimas versiones de MySQL</li><li>Tiene que tener un desktop amigable e incluir todos los utilitarios básicos para usuarios casuales adolescentes</li><li>No tiene que haber curva de aprendizaje para mi familia</li></ol><p>Durante los últimos 2 años he seguido el progreso de las distintas distribuciones a través de <a href="http://distrowatch.com/">Distrowatch</a>, por lo que las distribuciones finalistas fueron: <a href="http://www.kubuntu.org/">Kubuntu</a>, <a href="http://en.opensuse.org/Welcome_to_openSUSE.org">SuSE 10.1</a> y <a href="http://www.damnsmalllinux.org/">DSL</a>. Aunque DSL me daba la ventaja de poder preparar la PC como yo quisiera, tenía la desventaja que requería mucho trabajo de mi parte.</p><p><strong>Kubuntu:</strong> Ubuntu ha progresado mucho en los últimos tiempos, sobre todo en el grado de refinamiento de la 'usabilidad', por lo que se convirtió en mi favorito entre los Linux que surgen de los <em>LiveCD</em> en reemplazo de Knoppix. Hace poco, después del lanzamiento de la últimas versión estable, se lo presenté a mi hermano como una alternativa a Windows. La velocidad con la que el consiguió instalarlo en su PC y empezar a trabajar con él fue suficiente prueba para mi que es lo suficiente maduro y sencillo para mis propósitos.</p><p><strong>Open SuSE 10.1: </strong>En mi PC de trabajo estoy usando la versión 10.0 y me impresionó en forma muy positiva la sofisticación del desktop y la evolución de Yast, tanto en su versión gráfica como la interface textual. Yast ha evolucionado al punto de hacer la administración del software en la PC muy sencillo.</p><p><strong>Cual fue la decisión?</strong></p><p>Realmente no podía elegir uno u otro y mi hermano me convenció que debía instalar Kubuntu así ambos teníamos el mismo software y podíamos compartir la experiencia. Mi primer intento entonces fue con Kubuntu desde el DVD. Descubrí rapidamente que para equipos tan viejos como el mio (casi 6 años) aunque la BIOS soporte arrancar desde DVD, no quiere decir que lo haga. Después de bajar los CD volví a probar, solo para descubrir un problema en el script de intalación después de varios intentos. Sin paciencia para reportar el bug y esperar por una solución, instalé SuSE 10.1 desde CDs. Aunque tomó mucho tiempo, terminó con éxito. Fue la primera vez que veo una distribución de origen comercial que reconoce todo el hardware en la PC e instala los drivers sin chistar en el primer intento.</p><p><strong>Como terminó la historia?</strong></p><p>En ambos casos, los repositorios default no incluyen paquetes de software que yo uso con frecuencia: <a href="http://mplayer.org/">mplayer</a> (con los codecs para wma), <a href="http://azureus.sourceforge.net/">Azureus</a> y <a href="http://www.clamav.net/">ClamAV</a> entre otros. Para SuSE 10.1 está muy bien cubierto en un artículo de Jem Report llamado: <a href="http://www.thejemreport.com/mambo/content/view/254/42/">Hacking SuSE 10.1</a>. Para Kubuntu, basta con una búsqueda en los forums para encontrar los datos para agregar al archivo /etc/apt/sources. </p><p><strong>Qué tiene que ver todo esto con MySQL?</strong></p><p>Todo, aunque estoy hablando de mi PC personal, es mi backup de email, documentos y banco de pruebas. No puedo arriesgarme a que una actualización de MySQL rompa alguna configuración o algún otro paquete como PHP, Perl ::DBI u otros. También espero algún día terminar mi proyecto de Datawarehouse para email, en cuyo caso mi repositorio principal sería mi PC de trabajo diario y replicaría a mi PC en casa.</p><p>Los veo en la próxima.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-115160820868951239?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com3tag:blogger.com,1999:blog-12386129.post-1151078336200113892006-06-23T08:47:00.000-07:002006-06-23T08:58:56.213-07:00Manuales traducidosFinalmente se han publicado los manuales en español. He revisado algunos de los capítulos y en mi opinión es un excelente trabajo de la gente de <a href="http://www.vespito.com/">Vespito</a>. Los invito a revisar y comentar el contenido en las <a href="http://dev.mysql.com/doc/refman/5.0/es/index.html">páginas del manual</a>, esperemos que lo puedan mantener actualizado en la medida que el software progrese. Yo se que están en constante comunicación con el equipo de documentación de MySQL. Con vuestro apoyo, comentando y consultando los manuales, yo sé que este trabajo será priorizado.<br /><br />En contraste, les invito a visitar el <a href="http://www.freesoftwaremagazine.com/node/1632#new">blog</a> de un compañero de trabajo del equipo de documentación (está en inglés). En el comenta sobre las traducciones del manual en forma positiva, pero entre los comentarios verán que un usuario cuestiona la necesidad de publicar la documentación en otro idioma que el inglés. Yo no estoy de acuerdo y ya expuse mi punto de vista con el autor del blog en forma privada. Los invito a dejar sus comentarios sobre la necesidad o no de mantener manuales traducidos en este blog o en el de él.<br /><br />Los veo en la próxima.<br /><br /><strong>Nota sobre los podcasts:</strong> Lamentablemente por varias razones no he podido seguir cumpliendo con los podcasts. Estoy buscando herramientas que me permitan simplificar la producción y reanudarlos lo antes posible.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-115107833620011389?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1146153756968375412006-04-27T08:58:00.000-07:002006-04-27T09:11:15.240-07:00Conferencia de Usuarios - Dia 3<span lang="ES">Otro día con más contenido y trabajo. Como siempre es tan agotador como interesante y divertido.<br /><br />Anoche tuve la oportunidad de conocer y compartir una conversación muy interesante con Jim Starkey. Jim es el inventor de conceptos como BLOBs, MVCC y otros que hoy se dan por sentado en el mundo de las bases de datos grandes y medianas.<br /><br /><a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8058"><span style="font-size:130%;"><span style="font-weight: bold;">State of MySQL AB</span></span></a><br /><br />Como siempre la charla de Marten incluye una buena cantidad de información sobre el estado general de la comunidad y la empresa. Es siempre interesante ver su interpretación de cómo los proyectos de código abierto (Open Source) permiten la existencia de proyectos comerciales viables, ya sea soportando esos proyectos (MySQL, JBoss, PHP, etc)o para empresas que basan sus negocios en los mismos (Google, Yahoo!, Right Now, Travelocity, etc.). Lo que nadie esperó fue que Oracle/InnoDB fue nombrado uno de los partners del año.<br /><br /><span style="font-weight: bold;font-size:130%;" >Keynotes de <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8452">Tim O’Reilly</a> y <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/9106">Christine Martino</a></span><br /><br />La charla de Tim O’Reilly realmente fue muy interesante. Su visión privilegiada, a partir de su editorial, realmente muestra un mundo que está cambiando por la interacción entre el mundo virtual y físico (ejemplo: revista Make). Lamentablemente su presentación no funcionó al principio y se perdión parte del impacto deseado. Las estadísticas que presento sobre el final (con la presentación funcionando) tambien fueron muy interesantes, en particular para ilustrar el crecimiento de MySQL, Ruby y donde está la mayor demanda para trabajos relacionados con Web 2.0 (estados de California y Washington).<br /><br />La charla de Christine no fue tan espectacular como la de O’Reilly, pero no menos informativa. El punto principal fue el nuevo nivel alcanzado entre la asociación entre ambas empresas.<br /><br /><a href="http://www.mysqluc.com/pub/w/45/exhibitors.html"><span style="font-weight: bold;font-size:130%;" >Hall de exhibiciones</span></a><br /><br />Hoy tuve que pasar 2 horas en el hall de exhibiciones en nuestro stand. A pesar de trabajar para la MySQL, estoy impresionado por el volúmen de expositores. Algunos son los sospechosos de siempre: Novell, HP, Red Hat, etc.; otros son un poco sorpresivos: IBM. Lo más interesante fueron los pequeños expositores, tanto el volumen como la calidad de los mismos. Es obvio que existe un muy rico ecosistema alrededor de MySQL que merece ser explorado en detalle.<br /><br />Lamentablemente no pude asistir a ninguna de las otras charlas hoy, por lo que no tengo comentarios.<br /><br />Hasta mañana</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-114615375696837541?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1145979772234411802006-04-25T08:39:00.000-07:002006-04-26T09:27:12.460-07:00Conferencia de Usuarios - Día 2<span lang="ES">Lamentablemente, después de 14hs de trabajo, no tuve la energía de agregar los segmentos de audio que faltan al podcast, prometo seguir tratando aunque dudo que suceda esta semana.<br /><br />Hoy es un día especial, es mi charla sobre como usar MySQL bajo ambiente Windows (URL). Pero vamos por orden, hoy es tambien el primer día de keynotes incluyendo State of the Dolphin de parte de los fundadores.<br /><br /><span style="font-size:130%;"><a style="font-weight: bold;" href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8419">State of the Dolphin</a></span><br /><br />Kaj Ärno, el encargado de relaciones con la comunidad, hizo una introducción a los números actuales del tamaño de la comunidad e inmediatamente pasó a charlar con los fundadores, Monty y David. La charla pasó a comentar sobre MySQL 5.0, incluyendo lo bueno, lo malo y lo feo. Pasaron a explicar por que eligieron crear la arquitectura que permite diferentes modos de almacenamiento. En particular ofrece una flexibilidad única de elegir el método más adecuado para cada aplicación. Anunciaron Falcon, cerveza sueca ... tambien el nombre de código de lnuevo motor ACID. Varios otros anuncios siguieron en la charla incluyendo los nuevos motores provistos por la comunidad y otras empresas, lanzando algunos desafíos a la comunidad. En este momento Mike Zinner demostró MySQL Workbench.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Keynotes de </span><a style="font-weight: bold;" href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8579">RightNow</a><span style="font-weight: bold;"> y </span><a style="font-weight: bold;" href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/9240">Business Objects</a><br /> </span><br />Excelentes charlas de ambos. La de Greg Gianforte habló sobre como empezar un negocio con nada, repasando como fueron los orígenes de RightNow hasta convertirse en una de las principales companías que provee software para atención de clientes. En el caso Steve Lucas, explicó como usan MySQL como la base Crystalreports.com, el servicio que se ofrece gratis a todos los usuarios registrados de Crystal Reports. Ambos hablaron de la importancia de MySQL para los negocios de ambos.<br /><br /><span style="font-size:130%;"><a style="font-weight: bold;" href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8189">Mi charla</a></span><br /><br />Aunque he dado ya muchas presentaciones sobre MySQL y otros temas y en varios lenguajes; por alguna razón esta me puso muy nervioso. Lo noté más que nada en el hecho que erraba los slides, llendo para adelante y para atrás. La asistencia no fue mucha y pero hablando con mi esposa, ella me recordó que fue de acuerdo mis expectativas la semana pasada. Ahora estoy esperando el feedback de quienes estuvieron allí. Igual me concentré en demostrar las diferentes herramientas en la secuencia de instalación, configuración, carga y manipulación de datos. Les recomiendo bajar la presentación y probar los utilitarios ustedes mismos. La idea que MySQL solo funciona o que funciona mejor bajo Linux es un mito, estas herramientas y procedimientos lo demuestran.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Otras charlas</span></span><br /><br />Solo pude ir a la charla para <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8064">DBA de Robin Schumacher</a> y la de <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/7970">Particiones de Philip Antoniades</a>. Ambas llenas de contenido. Los invito a revisar las presentaciones una vez que se publiquen en el site del evento.<br /><br /><span style="font-weight: bold;font-size:130%;" >Notas adicionales</span><br /><br />* El show room es aproximadamente el doble del año pasado y está completamente vendido.<br />* La charla de State of Dolphin estuvo llena y con gente parada al fondo.<br />* Actualmente hay más de 1700 personas en el evento, más que el total del año pasado.<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-114597977223441180?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1145901322161748472006-04-24T19:41:00.000-07:002006-04-24T18:13:01.963-07:00Conferencia de Usuarios - Dia 1<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/51/134513819_0914739d92.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://static.flickr.com/51/134513819_0914739d92.jpg" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/53/134514044_ce046ceed6.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://static.flickr.com/53/134514044_ce046ceed6.jpg" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/seattlegaucho/134514044/"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.flickr.com/photos/seattlegaucho/134514044/" alt="" border="0" /></a><br />Hoy es el dia de los tutoriales. Yo atendi el de <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8335">MySQL Cluster</a> y el de novedades en <a href="http://www.mysqluc.com/cs/mysqluc2006/view/e_sess/8337">MySQL 5.0 y 5.1</a>.<br /><br /><span style="font-weight: bold;">MySQL Cluster</span><br /><br />Una sesion muy valiosa para los que tienen pocas oportunidades de trabajar con este producto. La sesion incluyo una explicacion detallada, sin excederse, de varios parametros. Muchos clientes se estan animando a instalar y configurar Cluster por si mismos. En la mayoría de los casos no entienden los detalles de las variables internas, tamaños de las estructuras de datos, etc. Esto implica que la cantidad de implementaciones independientes exitosas son muy pocas. Es importante entender cuando usar Cluster y cuando alguno de los otros motores puede realizar el trabajo con la configuración correcta.<br /><br /><span style="font-weight: bold;">MySQL 5.0 y 5.1<br /><br /></span><a href="http://jan.kneschke.de/">Jan</a> explicó algunas de las nuevas funcionalidades y ejemplos de uso. Al principio de la charla hizo una encuesta rápida sobre quien usaba algunas de estas funcionalidades. El número de asistentes que levanto la mano para las funciones más avazadas fue sorprendentemente bajo. Los temas que cubrió incluyeron:<br /><ol><li>Prepared statements: como evitar la 'inyección de SQL' o como evitar que alguien modifique un string SQL sobre la marcha.</li><li>Stored Procedures: Escribir lógica en el servidor.<br /></li> <li>Eventos: Llamar a un Store Procedure a partir de un criterio de tiempo<br /></li> <li>Storage Engines: Nuevos motores.<br /></li> <li>Particiones: Particion horizontal para dividir las tablas en múltiples archivos de acuerdo a algún criterio lógico.</li> </ol>Las fotos del artículo corresponden a dos collage que hicieron anoche en la recepción de Marten (CEO de MySQL)<br /><br />Sigo cambiando el formato de este blog/podcast. Para poder aprovechar mejor mi tiempo he decido que ambos sean 'asincrónicos' pero complementarios. Trataré de publicar hoy el podcast de migración y el del día de hoy.<br /><br />Hasta mañana<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-114590132216174847?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1142888875294059932006-04-23T22:00:00.000-07:002006-04-24T14:28:58.160-07:00Como actualizar los datos al cambiar de versiónEste es un tema que parece preocupar a muchos y en MySQL tratamos de facilitar lo más posible. No siempre se logra ya que al agregar nuevas funcionalidades no queda más remedio que sacrificar algo de compatibilidad. Acá incluyo algunas de las direcciones del podcast:<br /><br />- Actualizando de <a href="http://dev.mysql.com/doc/refman/4.1/en/upgrading-from-3-23.html">3.23 a 4.0<br /></a>- Actualizando de <a href="http://dev.mysql.com/doc/refman/4.1/en/upgrading-from-4-0.html">4.0 a 4.1</a><br />- Actualizando de <a href="http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html">4.1 a 5.0</a><br />- Información sobre <a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html">mysqldump</a>, <a href="http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html">mysqlimport</a> y <a href="http://dev.mysql.com/doc/refman/5.0/en/mysql-upgrade.html">mysql_upgrade</a><br />- <a href="http://dev.mysql.com/downloads/migration-toolkit/1.0.html">Migration Toolkit</a><br /><br /><span style="font-weight: bold;"></span>Por el momento voy a evitar usar una cortina musical para evitar ser calificado (y sancionado) como <span style="font-style: italic;">pirata </span>por la industria discográfica. Estoy trabajando en encontrar algo de música licenciada bajo Creative Commons para usar. Por el momento monitoreo <a href="http://freesound.iua.upf.edu/index.php">freesound</a> y <a href="http://www.opsound.org/index.php">opsound</a> éste último tiene su propio podcast.<br /><br />NOTA: Finalmente puedo empezar la publicacion periodica de blogs y podcasts. Me comprometo a publicar 1 por mes, esperando poder hacer mas.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-114288887529405993?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1139967307564653862006-02-14T17:20:00.000-08:002006-07-12T18:25:23.176-07:00Podcast en castellanoFinalmente este blog volvió a la vida. A partir de hoy, este será el punto de entrada al podcast en castellano. Para aquellos que no saben que es un podcast, recomiendo leer la descripción en <a href="http://podcasts.yahoo.com/start">Yahoo!</a>. Lamentablemente no hay mucha información en castellano. Además del servicio de Yahoo!, algunos de los programas y servicios que permiten buscar, bajar y escuchar podcasts son: <a href="http://www.odeo.com/">Odeo</a>, <a href="http://www.itunes.com/">iTunes</a> y <a href="http://www.podcastalley.com/">Podcast Alley</a>.<br /><br />Al contrario de lo que dije en el piloto, presentaré parte del material en este blog.<br /><br />Los espero en la próxima emisión.<br /><br /><a href="http://www.gnarvaja.com.ar/podcast/mysql_podcast_0.mp3">Archivo MP3</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-113996730756465386?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0tag:blogger.com,1999:blog-12386129.post-1114290278080297452005-04-23T15:00:00.000-07:002006-02-14T15:56:13.350-08:00El porque del blog y las aclaraciones necesariasVarios de los empleados de MySQL tienen sus blogs, pero todos escriben en inglés. Pensé en hacer el mío en castellano de manera de comunicar mis experiencias a los usuarios de habla hispana.<br /><br />Por favor tengan en cuenta que las opiniones que voy a volcar aquí son 100% personales y de ninguna manera representan la posición oficial de MySQL AB.<br /><br />Sientanse libres de solicitar temas u opinar a través de los comentarios. Haré lo posible para satisfacer sus demandas en la medida que mi carga de trabajo me lo permita.<br /><br />Atentamente,<br />Gerardo<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12386129-111429027808029745?l=mysqles.blogspot.com'/></div>GNhttp://www.blogger.com/profile/14092453914112673024noreply@blogger.com0