lunes, 31 de marzo de 2008

MySQL, cuando el cliente o el servidor están obsoletos

O no llego, o me paso.

O no posteo en semanas, o me repito en un día. Pero hay días que te encuentras con cosas curiosas que acabas encontrando la solución, y no voy a dejar de postear por eso mismo...

Aquí va la segunda entrada de hoy.

Intentando conectar desde un cliente MySQL (5.0x) a un servidor (3.x, aunque esto sirve para versiones anteriores a 4.1.1), me devolvía este error:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

La gracia es que no podía actualizar el cliente porque está en una máquina poco estable, obsoleta pero que de momento aguanta (y aquí nos guiamos muchas veces por eso de "si funciona, no lo toques"), así que he tenido que buscar otra solución. Googleando por ahí, he visto que el problema es debido a la diferencia de versiones, y que a partir de la 4.1.1, las contraseñas se encriptan de otra manera, por lo que no se puede validar. La idea es que, para los usuarios que se tienen que conectar entre estas dos máquinas, vamos a poner el formato antiguo de la contraseña. Y lo hacemos de la siguiente manera:

root@Tuxxxy:~# /var/log/mysql# mysql -p -h localhost -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.0.32-Debian_7etch5-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> set password for 'user'@'host' = OLD_PASSWORD('mysql');
Query OK, 0 rows affected (0.00 sec)

donde password es la contraseña de ese usuario, user el usuario y host el servidor remoto desde el que te conectas.
Después un

mysql> flush privileges;
y arreando, que es gerundio!

2 comentarios:

JESUS SANTANDER dijo...

....y si lo tienes montado en windows como lo puedes hacer?
Gracias

Esther Yébenes dijo...

Jesús, perdona por el retraso.
En Windows debería ser lo mismo, aunque no lo he probado.


Saludos!