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?


9 Responses to “MySQL 4 y PHP”

  1. Tiago Says:

    Yo estoy con este problema.

    Soy iniciante en MySql e no se como puedo actualizar el cliente MySQL del PHP con la �Client API version 4.x�

    Poderia me ayudar, por favor?

    Muchas Gracias.

  2. Alejandro Says:

    A ver, yo tengo el mismo problema, pero no quiero solucionarlo con la 2� opci�n, sino con la 1�, c�mo puedo hacerlo? c�mo puedo Actualizar el cliente MySQL del PHP con la �Client API version 4.x�?

  3. maite Says:

    El problema que yo tengo, es que tengo instalado mysql 4 y el phpmyadmin me funciona correctamente, pero cuando quiero hacer la conexi�n con mysql desde macromedia dreamweaver, me da el siguiente error: 1251 Client doesn’t support authentication protocol requested by server;consider upgrading MySQL Client. He desinstalado mil veces el mysql y he instalado una versi�n mayor, pero me sigue dando el mismo problema. �Qu� debo hacer?�C�mo podr�a solucionar el problema?Muchas gracias de ante mano!!

  4. maite Says:

    El problema que yo tengo, es que tengo instalado mysql 4 y el phpmyadmin me funciona correctamente, pero cuando quiero hacer la conexi�n con mysql desde macromedia dreamweaver, me da el siguiente error: 1251 Client doesn’t support authentication protocol requested by server;consider upgrading MySQL Client. He desinstalado mil veces el mysql y he instalado una versi�n mayor, pero me sigue dando el mismo problema. �Qu� debo hacer?�C�mo podr�a solucionar el problema?Muchas gracias de ante mano!!

  5. Antonio Santana Says:

    La cuesti�n es si es posible aprovechar todas las mejoras de la versi�n superior utilizando el segundo sistema. Por ejemplo, seleccionar el puerto de comunicaciones en la conexi�n (p.e.: mysql_conect(”localhost:3306″,”usuario”,”password”).
    Gracias. Un saludo.

  6. Roberto Carlos Gandara Pertuz Says:

    En Casa tengo MySQL 4.1.9 y PHP 4.3.11 lo ejecuto desde IIS.
    En la Oficina tengo MySQL 4.1.9 y PHP 4.3.11 pero lo ejecuto con Apache2 …

    En ambos Casos, cuando ejecuto phpinfo() me sale:Client API version 3.23.49

    En Casa me vota el error: “Client does not support authentication protocol requested by server; consider upgrading MySQL client”…
    pero en la oficina NO…. que puede ser??? he intentado en casa con Apache2 y nada… Gracias!!

  7. danielsarmiento Says:

    hola soy analista de sistemas y tengo un gran problema
    tengo instaldo php5.1.1, mysql5.0 y apache 2.0,
    cuando habilite el soporte de mysql y mysqli a php el servidor dejo de arrancar y me aparece el siguiente error

    Syntax error on line 233 of /etc/apache/httpd.conf:
    Cannot load /usr/lib/apache2/libphp5.so into server: /usr/lib/apache2/libphp5.so: undefined symbol: mysql_module_entry

    si sabe algo sobre la posible causa de este problema por favor hagamelo saber a [email protected]

    gracias

  8. Will Says:

    #mysql -u root -p
    mysql>show databases;
    mysql>use mysql;
    mysql>update user set password=old_password(’password con la que accesa a mysql’) where user=’root’;
    flush privileges;

    Saludos

  9. Juan Rahul Says:

    Yo tenia el mismo problema y tome la segunda opcion y resolvio mis problemas gracias por todo manejo php 4.4.4 y Mysql 5 quisiera poder tener tu correo para cualquier consulta gracias

    Bueno mi correo es [email protected]

    GRacias de veras!!!!!!!!!

Leave a Reply





WebEstilo.com - Introduzca su e-mail y conozca las novedades. No hacemos Spam.
Enlaces
El Primer Euro
Cocina Facil IngenieroSoftware.com  
Google
  Web WebEstilo.com   
Última modificación:16 de Agosto de 2006. Spain - Espa�a.
© 1998-2004 por Joaquin Gracia. Todos los derechos reservados.