Fixed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication

Hoy formatee el servidor 2 de Skamasle para instalar centOS en el.

Uno de los “problemas” con los que me encontré es que el nuevo panel no permite habilitar las conexiones remotas.

Otro de ellos era el siguiente error en algunos usuarios:

Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in [Removed] on line 2

Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in [Removed]p on line 2

Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in [Removed] on line 2

Al parecer el error viene de el intento de compatibilizar MySQL con versiones anteriores.

Generando contraseñas de menor tamaño.

Así que, los pasos para resolverlos son sencillos.

editamos my.cnf

En centOS está en /etc/my.cnf

si no sabes donde está, locate es una herramienta genial (apt-get install locate para debian)

Bien en my.cnf comentamos la línea old_passwords = 1
Reiniciamos el servicio mysqld (service mysqld restart).

Ahora nos vamos a una consola de mysql (o a la pestaña SQL de phpmyadmin) y con el usuario root ejecutamos:


> SET old_passwords =0;
UPDATE mysql.user SET PASSWORD = PASSWORD( '_pass_' ) WHERE User = '_user_' LIMIT 1 ;
SELECT LENGTH(
PASSWORD )
FROM mysql.user
WHERE User = '_user_';
FLUSH PRIVILEGES ;

Remplazando _user_ y _pass_ por los respectivos usuarios conflictivos.

Y eso es todo, ya deberíamos tener la BD en funcionamiento ;)


Así nos han encontrado!

  • mysqlnd cannot connect to mysql 4 1 using the old insecure authentication
  • mysqlnd cannot connect to mysql 4 1 using the old insecure authentication please use an administration tool to reset your password with the command set password = password(your_existing_password) this will store a new and more secure hash value in mysql
  • mysqlnd cannot connect to mysql 4 1 using the old insecure authentication please use an administration tool to reset your password with the command set password = password(your_existing_password) this will store a new and more secure hash value in mysql u
  • Authentication with old password no longer supported use 4 1 style passwords
  • warning: mysql_connect(): mysqlnd cannot connect to mysql 4 1 using the old insecure authentication

One Response to Fixed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication

  1. Jonathan dice:

    Muchisimas gracias amigos me funciono perfectamente =)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">