image
Inicio » Weblog » Joaquin's Weblog

MySQL 4 y PHP

09.02.2005
Categoría: — Joaquin @

Si tienes instalado MySQL 4 y te estás conectado a la base de datos con clientes “viejos”, puedes tener problemas de conexión al servidor de MySQL.

Este problema se manifiesta de la siguiente manera “Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client“.

Lo que te pasa es lo siguiente:

  • Tienes instalado MySQL 4.x
  • Tienes el PHP configurado en la sección mysql con “Client API version 3.x

¿Como averiguar el Client API Version? Muy fácil, lo puedes mirar ejecutando < ? phpinfo(); ?>, que devuelve la configuración actual del PHP.

Entonces tienes 2 opciones para arregla esto:

  • Actualizar el cliente MySQL del PHP con la “Client API version 4.x
  • Hacerlo funcionar a martillazos.

La primera es más elegante y correcta, pero a veces no podemos actualizar el PHP porque no tenemos privilegios o simplemente ganas, así que explicare la segunda.

El problema reside en que en la versión 4 de MySQL han mejorado el sistema de almacenamiento de password, si te estas conectado a un MySQL 4 desde un cliente 3, la conversión que hace del password para pasárselo al MySQL no coincide con la que espera recibir el servidor.

El “truco” está en cambiar la forma que MySQL 4 almacena los passwords para que use la vieja, así que después de crear el usuario tienes que hacer lo siguiente:

SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

¿Más soluciones a este problema?


Comments are closed.







Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.