Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema al conectarme aun servidor externo de mysql

Estas en el tema de Problema al conectarme aun servidor externo de mysql en el foro de Mysql en Foros del Web. Tengo una aplicacion en php con bds postgres pero nesecito conectarme a un servidor externo montado en mysql para realizar unas consultas en sus bds ...
  #1 (permalink)  
Antiguo 08/10/2010, 09:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Problema al conectarme aun servidor externo de mysql

Tengo una aplicacion en php con bds postgres pero nesecito conectarme a un servidor externo montado en mysql para realizar unas consultas en sus bds intento realizar una pequeña conexion con los datos que me enviaron y me sale este error

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

Fatal error: 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

El inconveniente lo tengo yo o lo es la configuracion del mysql el servidor externo.

Gracias por su posible colaboracion
  #2 (permalink)  
Antiguo 08/10/2010, 11:01
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Problema al conectarme aun servidor externo de mysql

MySQL cambio el sistema de encriptado de contraseñas a partir de las series 4.1

Este mensaje de error significa que el cliente (php en este caso) no entiende el nuevo sistema de encriptado.

Dos posibles soluciones son:

1.- Usa msqli_connect

o

2.- Cambia el usuario al sistema antiguo de contraseñas:
Código MySQL:
Ver original
  1. SET PASSWORD FOR \'usuario\'@\'%\' = OLD_PASSWORD(\'nueva_clave\');
  #3 (permalink)  
Antiguo 12/11/2010, 22:00
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Problema al conectarme aun servidor externo de mysql

Si el usuario es otro entonces:
Código:
SET PASSWORD FOR 'usuario'@'localhost' = OLD_PASSWORD('CLAVE');
SET PASSWORD FOR 'usuario'@'localhost' = PASSWORD ('CLAVE');
Si es el mismo
Código:
SET PASSWORD = PASSWORD('CLAVE');
Recuerde por último usar si tiene el privilegio.
Código:
FLUSH PRIVILEGES;
Mire el resultado de cifrado...
Código:
SELECT PASSWORD('CLAVE');
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]
  #4 (permalink)  
Antiguo 01/03/2011, 18:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema al conectarme aun servidor externo de mysql

Yo tenía el mismo problema, lo que paso es que tuve que actualizar mi servidor web al php 5.3.5, la mayoria de mis aplicaciones corren sobre mysql 5.1, pero un servidor de base de datos usa aun mysql 4.1. Y al intentar conectarme, obtenía el siguiente error:

Código:
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
Lo que sucede es que php no reconoce la forma "vieja" de los passwords de mysql, que eran de 16 caracteres, si no, busca la version de 41 caracteres.

Es por esto que nuestro servidor mysql 4.1 en el archivo de configuracion, tenemos que editar la linea de :

Código:
old_passwords=1

y cambiarle el valor a 

old_password=0.
Esto es para desactivar que mysql guarde de la antigua manera. Ahora reiniciamos el servicio de mysql, y reseteamos el password del usuario de mysql de nuestras aplicaciones. Esto es con el fin de que se guarde con el nuevo hash

Código:
SET PASSWORD FOR 'user'@'localhost'=PASSWORD('pass');
Con eso resolvi mi problema.Espero les sirva.

Saludos.
  #5 (permalink)  
Antiguo 03/04/2011, 09:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema al conectarme aun servidor externo de mysql

Excelente ayuda. Tambien me finciono con esto.

Etiquetas: externo, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:50.