Seguimos montando pues nuestra plataforma WAMC chachona lista para entender UTF-8: Windows 2003, Apache norecuerdocual, MySQL 4.1 y ColdFusion 7.
Bien, pues como comentaba en la primera entrega de sucedidos WAMC (que me gusta la palabreja), MySQL 4.1 ha cambiado la forma de tratar las claves, y no se lleva con las anteriores versiones. Si no usamos claves no hay problema, pero no sólo no es buena costumbre eso de no usar claves, sino que el asistente de configuración de MySQL nos obliga a incluir una para el usuario root (lo cual está muy bien).
Consecuencias:
- aplicaciones como phpMyAdmin 2.6.1, que no tratan correctamente estas nuevas claves, no pueden acceder a las bases de datos, devolviendo un error
client does not support authentication protocol requested by server
- CF 7 usa drivers para MySQL 3.* Si usamos MySQL 4.1.* y claves para conectar a las bases de datos, nos devolverá el error:
Connection verification failed for data source: basededatosmysql
java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
The root cause was that: java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
Soluciones:
-
- usar otro gestor para MySQL (MySQL Control Center no presenta este problema, pero tampoco acepta UTF-8).
- trabajar con las bases de datos a pelo (después de todo, el phpMyAdmin lo usamos en producción, no en explotación).
- decirle a MySQL que se enrrolle con las claves antiguas, como cuentan aquí o aquí en español (y tres meses antes).
-
- instalar un conector ODBC para MySQL y conectar por ODBC.
- o actualizar el driver JDBC y conectar a través de ese driver, la solución indicada por Macromedia.
Nota: la TechNote de Macromedia, escrita para CF 6.1, indica el directorio cf_root/WEB-INF/lib
para colocar el fichero jar. En CF 7 (al menos, en mi instalación) este directorio es cf_root/lib
.
Comentar, algo fuera de tema, que si lo que usamos para conectar a MySQL no es ColdFusion, sino PHP, hay que actualizar a la versión 5.0.3. De nada.
Y seguimos en ello....