Error en conexion con mySQL
Hola a todos:
Cuando intento conectarme a una base de datos con el siguiente script:
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","wolverine")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("base_datos",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
me aparece el siguiente error:
Warning: Client does not support authentication protocol requested by server; consider upgrading MySQL client in g:docsconectar.php on line 10
Warning: MySQL Connection Failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client in g:docsconectar.php on line 10
No tengo ni idea de por que pueda ser. No se si podrá ser un conflicto de versiones.
Uso mySLQ 4.1.7 y PHP 4.3.9 en un Windows XP Proffesional SP2.
A ver si alguien me puede echar una mano.
Gracias por anticipado
Cuando intento conectarme a una base de datos con el siguiente script:
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","wolverine")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("base_datos",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
me aparece el siguiente error:
Warning: Client does not support authentication protocol requested by server; consider upgrading MySQL client in g:docsconectar.php on line 10
Warning: MySQL Connection Failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client in g:docsconectar.php on line 10
No tengo ni idea de por que pueda ser. No se si podrá ser un conflicto de versiones.
Uso mySLQ 4.1.7 y PHP 4.3.9 en un Windows XP Proffesional SP2.
A ver si alguien me puede echar una mano.
Gracias por anticipado
Pues si, se debe a un cambio con la nueva version de MySQL, puedes leer mas aqui:
http://dev.mysql.com/doc/mysql/en/Old_client.html
http://dev.mysql.com/doc/mysql/en/Old_client.html
Problema corregido. He cambiado la contraseña al usuario usando el parametro OLD_PASSWORD.
Gracias por la ayuda
Gracias por la ayuda
Hola a mi me paso tambien, tenes que instalarte MySQL Administrator y abilitar desde ahi una prop que avilita a clientes.
Saludos y Suerte
Saludos y Suerte
Bajais el programilla "MySQL Administrator" que encontrareis aquí:
http://dev.mysql.com/get/Downloads/MySQLAdministrationSuite/mysql-administrator-1.0.19-win.msi/from/pick
Seguidamente lo ejecutamos y conectamos como root.
Vamos a la opción de la izquierda que dice: "StartUp Variables" y luego a la derecha elegimos la pestaña "Security",.
En "SECURITY" marcamos el check box que dice: "Use Old Passwords". Luego aplicamos los cambios.
En la vista de la izquierda, seleccionamos ahora "User Administration" y nos creamos un nuevo usuario "New User". Ponemos una contraseña y rellenamos los campos que creamos interesantes.
Vamos al panel que pone "User Accounts" abajo a la idquierda. Hacemos click con el botón derecho del ratón sobre el nombre del usuario, que hemos creado y seleccionamos la opción "Add Host From Wich the User Can Connect" y seleccionamos el host al que nos conectaremos con ese usuario (no haber hecho esto es una de las razones del error), si es vuestro localhost, pues lo ponéis y si no, la ip/host que sea. Por último APLICAMOS LOS CAMBIOS y no estaría mal darle algunos permisos al usuario sobre alguna base de datos (la base de datos test por ejemplo que es para hacer pruebas).
Para estar mas seguros, editamos el archivo "my.ini", que suele estar en la carpeta donde instalaste mysql, y agregamos esto en la parte dedicada al servidor:
#Use old password encryption method (needed for 4.0 and older clients).
old_passwords
Lo que va tras la # es un comentario.
Para finalizar reseteamos los servidores (apache y mysql)
A mi me funcionó... y a vosotros?
http://dev.mysql.com/get/Downloads/MySQLAdministrationSuite/mysql-administrator-1.0.19-win.msi/from/pick
Seguidamente lo ejecutamos y conectamos como root.
Vamos a la opción de la izquierda que dice: "StartUp Variables" y luego a la derecha elegimos la pestaña "Security",.
En "SECURITY" marcamos el check box que dice: "Use Old Passwords". Luego aplicamos los cambios.
En la vista de la izquierda, seleccionamos ahora "User Administration" y nos creamos un nuevo usuario "New User". Ponemos una contraseña y rellenamos los campos que creamos interesantes.
Vamos al panel que pone "User Accounts" abajo a la idquierda. Hacemos click con el botón derecho del ratón sobre el nombre del usuario, que hemos creado y seleccionamos la opción "Add Host From Wich the User Can Connect" y seleccionamos el host al que nos conectaremos con ese usuario (no haber hecho esto es una de las razones del error), si es vuestro localhost, pues lo ponéis y si no, la ip/host que sea. Por último APLICAMOS LOS CAMBIOS y no estaría mal darle algunos permisos al usuario sobre alguna base de datos (la base de datos test por ejemplo que es para hacer pruebas).
Para estar mas seguros, editamos el archivo "my.ini", que suele estar en la carpeta donde instalaste mysql, y agregamos esto en la parte dedicada al servidor:
#Use old password encryption method (needed for 4.0 and older clients).
old_passwords
Lo que va tras la # es un comentario.
Para finalizar reseteamos los servidores (apache y mysql)
A mi me funcionó... y a vosotros?
