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?

Bookmark worthy


    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.