Por defecto MySQL suele crear la base de datos en un código de carácteres compatible con el sistema operativo. Si empezasteis con un desarrollo en Windows lo más probable es que lo hiciese en latin1.
A la hora de migrar los datos de servidor es cuando vienen los problemas y además si queremos convertirlos completamente a UTF8 que es la codificación ideal para los entornos con muchos idiomas. El proceso que al final he tenido que hacer ha sido el siguiente:
1) Exporto con mysqldump la base de datos ( bbdd.sql)
mysqldump –opt –uroot –ppassword –h localhost nombre_basededatos
2) En mi caso quería convertir de MyISAM a INNODB ( este paso no es necesario pero lo adjunto)
sed ‘s/ENGINE=MyISAM’/ENGINE=INNODB/’ bbdd.sql > bbddpaso1.sql
3) Sustituyo todos los códigos de caracteres latin1 por utf8
sed ‘s/latin1/utf8/’ bbddpaso1.sql > bbddpaso2.sql
4) Convierto los caracteres ( este es el paso clave)
iconv –f ISO-8859-1 –t UTF-8 bbddpaso2.sql > bbddpaso3.sql
5) Importo la base de datos ( previamente la tendremos que haber creado)
mysql –u root –p –default-character-set=utf8 nombre_basededatos < bbddpaso3.sql
Antes de importar convendrá ver si aún quedan referencias a códigos de carácteres que no sean utf8 y habrá que aplicar sustitución con el comando sed.
Este proceso ha sido probado en Ubuntu y ha funcionado perfectamente.
Popularity: 3% [?]
Para todos los que utilizamos la base de datos MySQL en nuestros proyectos uno de los principales problemas que nos encontramos es configurarlo para obtener el mejor rendimiento. Si a esto sumamos que hay diferentes motores de base de datos y gran cantidad de parámetros se hace prácticamente imposible. La solución que hasta ahora yo conocía pero no había practicado era la de usar los MySQL advisors que entiendo que son de pago con la versión Enterprise. Sin duda esta herramienta puede ser ideal para situaciones empresariales. Al final había conseguido algunos ejemplos de my.cnf y los había probado a ver cual obtenía mejor resultados.
Por una casualidad, se dejaron el script en mi VPS tras hacer la migración, y descubrí un script gratuito que nos podemos bajar de la página de Sundry. Este script lo ejecutamos y analiza diversos elementos para hacernos unas sugerencias. Lo ideal es ejecutarlo cuando nuestro servidor está en plena carga ya que como analiza parámetros de carga nos ayudará mejor a corregir nuestro fichero de configuración my.cnf ( /etc/mysql/my.cnf).
Por lo que he visto en su página analiza:
Slow Query Log
Max Connections
Worker Threads
Key Buffer
Query Cache
Sort Buffer
Joins
Temp Tables
Table (Open & Definition) Cache
Table Locking
Table Scans (read_buffer)
Innodb Status
Se llama MySQL performance tuning primer y se puede descargar gratuitamente. Es compatible con versiones posteriores a la 3.23 e incluye la última 5.1. Yo lo he utilizado en sistemas linux, no se si será de aplicación en versiones Windows.
Siempre hay gente dispuesta a compartir sus conocimientos de forma gratuita y agradecer a este hombre por hacerlo. La verdad es que usándolo he notado mejoras sustanciales en mis servidores MySQL. Se convertirá en una herramienta imprescindible y que espero que el autor siga evolucionando.
En la misma página encontraréis otros scripts que os pueden ayudar para otras tareas como replicación o backup.
¿conoces otras formas de optimizar MySQL?
Espero que os sea de utilidad.
Popularity: 2% [?]
Para los que utilizamos la base de datos gratuita MySQL en nuestros proyectos Web es un importante evento la conferencia que se realiza cada año para desarrolladores. Este año ha tocado en Santa Clara ( California) y produce mucho movimiento en la comunidad.
Para entrar en contexto existen dos versiones de MySQL que podemos usar. La community edition que es gratuita y no contiene mantenimiento. En cambio la versión Enterprise se puede comprar por años y la principal diferencia es que contiene mantenimiento, acceso a la Knowledge base, parches y en función de la versión diferentes herramientas extras. En este momento la versión activa es la 5.XX, la 5.1 en estado Release Candidate y existe la versión 6.0.X que está en Alpha.
A través de la conferencia 2008 podemos enterarnos de las novedades que traerán las diferentes versiones, el nuevo sistema de backup online, técnicas de optimización, cluster, escalabilidad, web 2.0, etc… Demuestra que tiene muchísimas posibilidades y que se está convirtiendo en un importante “player” del mundo de las bases de datos.
Como tema anecdótico me ha sorprendido que empresas como Microsoft y HP son sponsors platino del evento. Recordemos que recientemente Sun Microsystems compro esta empresa.
Personalmente yo estoy en la versión 5 sobre un VPS Linux CentOS y está funcionando de fábula. Ya que es la parte que más tiempo de procesador usa en L-exp. La verdad es que he tenido problemas por diversos temas con la parte del servidor web y los dispatchers, pero con MySQL ni uno sólo. Tan solo me preocupo de tanto en cuanto de hacer una optimización y chequeo de las tablas usando phpmyadmin .
Yo sigo todas las novedades de la conferencia a través de una lista en L-exp que contiene todos los recursos para desarrollar con MySQL.
Para seguir la conferencia:
Developing with MySQL
Popularity: 2% [?]
Cada día descubro que MySQL es un sistema de base de datos con más opciones. He encontrado información de como montar clusters de base de datos para conseguir una mayor escalabilidad de las aplicaciones. Sinceramente no lo he probado pero me guardo el link por si en un futuro lo necesito.

Por lo que veo la instalación requiere un cierto conocimiento de Linux y es para usuarios avanzados. Pero sin duda sorprende la tecnología y documentación que hay detrás de esta base de datos Opensource.
Eso si, los clusters hasta donde yo he podido leer no están soportados en sistemas Windows.
Ánimo al que no lo haya probado a descargase MySQL y ver lo potente que es. Sin duda debe estar tocando mucho a ORACLE y SQL Server esta base de datos.
Actualización: He encontrado un tutorial (con dos servidores) que muestra paso a paso como hacerlo. Servirá también de ejemplo.
Popularity: 3% [?]
Acaban de presentar la versión de MySQL Tools para Microsoft
Visual Studio 1.1 Alpha, un plug-in que se puede descargar para Visual Studio 2005 que permite facilitar el desarrollo .NET con la base de datos opensource MySQL.
La principal novedad es que esta versión Alpha ya soporta los asistentes para Datasources (wizard) y el Diseñador de DataSets. Esto significa que sólo arrastrando y soltando ya podemos crear enlaces a datos rápidos. Gran novedad para acercar esta base de datos opensource al mundo .NET ya que con este sistema la productividad y sencillez aumenta exponencialmente.
Aún es una versión Alpha pero habrá que estar al tanto. Para contribuir.
Vía
Popularity: 2% [?]
Interesante novedad
para los desarrolladores de la base de datos MySQL que deseen trabajar con Visual Studio. Acaban de presentar un plugin que permite el trabajar con objetos MySQL desde el popular entorno de desarrollo de Microsoft.
Actualmente es compatible con Visual Studio 2005 y dispone de la siguientes funcionalidades:
- DDEX(Data Designer Extensibility) compatibilidad
- Capacidad de funcionar con objetos MySQL ( tablas,vistas, procedimientos almacenados, etc…) desde el explorador
En futuras versiones están pensando en incluir una integración mejor con el diseñador de Datasets de Visual Studio. Esto incluirá la posibilidad de que los usuarios puedan crear datasets y que lo puedan referenciar desde el código.
Los ejecutables de MySQL Tools para Visual Studio actualmente estan bajo licencia de sin coste. Aún están decididiendo bajo que licencia se publicarán incluyendo el código fuente. Se puede descargar desde http://dev.mysql.com/downloads/visual-studio-plugin/1.0.html .
Para reportar bugs: http://bugs.mysql.com/ ( usar la categoría conector/Net )
Forum: http://forums.mysql.com/list.php?38
List: http://lists.mysql.com/dotnet
Para los que no lo sepan existe un Connector para .NET que nos permite acceder a la base de datos desde ADO .NET.
MySQL | Descargas
A ver quien se anima a probarlo y nos comenta como le ha ido.
Noticia original
Popularity: 11% [?]