A partir de la versión 4.1 MySQL ha cambiado, entre otras cosas, su método de identificación. Esto hace que los clientes de MySQL anteriores a la versión 4.1, como es el caso de PHP, no puedan conectar. Si lo intentamos en PHP obtendremos un error como este:
PHP Warning: mysql_connect(): Client does not support authentication protocol r
equested by server; consider upgrading MySQL client in /path/path/file.php
r.php on line X
Hay varias soluciones a este problema. La más sencilla, dejar al usuario que nos interesa sin contraseña, pero esta no nos conviene, ya que compromete a la seguridad de nuestro servidor MySQL.
Otra solución es decirle a MySQL que utilice el sistema antiguo de identificación para cierto usuario. Para ello abrimos la línea de comandos de MySQL. En windows, Inicio > Programas > MySQL > MySQL Server 4.1 > MySQL Command Line Shell. En linux teclea mysql en la línea de comandos. Asegúrate de que el usuario con el que conectas a la línea de comandos de MySQL tenga permisos para modificar las cuentas de usuario.
Una vez tenemos el prompt de mysql en la línea de comandos haremos lo siguiente:
mysql> SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('contraseña');
Debemos sustuir "contraseña" por la contraseña que queramos.Con esta sentencia haremos que el usuario root en localhost pueda conectar con el cliente antiguo de MySQL.
Lo ideal sería utiilzar la biblioteca mysqli en PHP que es mucho más completa que la actual mysql y permite aprovechar todas las características de MySQL 4.1. Pero para instalar esta extensión, por ahora es necesario recompilar PHP ya que no viene en el paquete oficial.
Por Alex.
Director Técnico de WebTaller.
Usuarios que han visto este tema también han visto...
- Como convertir numeros a letras con PHP
- Crear un sistema de noticias con PHP
- Cómo crear un plugin para WordPress
- Proteger Descargas
- Forzar descargas de archivos
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.