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

MySQL: no consigo conectar en php ni con otros programas

Estas en el tema de MySQL: no consigo conectar en php ni con otros programas en el foro de Bases de Datos General en Foros del Web. Pues después de un tiempo de pruebas, he conseguido instalar el apache y el php, de tal modo que puedo usar las funciones de php ...
  #1 (permalink)  
Antiguo 03/02/2005, 04:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 2
Antigüedad: 19 años, 2 meses
Puntos: 0
MySQL: no consigo conectar en php ni con otros programas

Pues después de un tiempo de pruebas, he conseguido instalar el apache y el php, de tal modo que puedo usar las funciones de php y las veo correctamente.

Mi problema viene ahora cuando intento conectarme a la base de datos desde la web, porque no lo consigo, tal vez mi problema sea los directorios de instalación y mysql deba de estar dentro del directorio de apache.

El caso es que si voy a la línea de comandos y pongo mysql -u usuario -p y cuando me pide el pasword se lo doy, me deja entrar, y también me deja conectarme con herramientas de creación de tablas como pueda ser el php-front o cualquier otra.

Sin embargo, cuando intento entrar con el phpmyadmin no me deja, me da un error y lo mismo me pasa si lo intento con el eskuel, que me pide un host pero ya no estoy tan seguro de que sea localhost, porque ese es el directorio por defecto de apache, pero no sé como ponerlo, porque tengo el apache en d:\programas\apache y mysql en d:\programas\mysql.

El mismo problema del host es el que tengo cuando intento hacer un pequño programa en php para conectar como el siguiente, que lo he copiado y adaptado para mi caso de un ejemplo en un tutorial:

<?php
$conn=mysql_connect('localhost','usuario','passwor d');
$sql="SELECT * FROM T1";
$rs=mysql_exec($conn,$sql);
?>

donde se supone que en localhost se le da el host de la base de datos, pero no sé cual es. Pero en este caso tampoco se indica a que base de datos conectar, porque se pueden tener varias.



Si utilizo la siguiente función:

<?php

$Conexion_ID = mysql_connect("localhost", "usuario", "password");

?>


Me pone el siguiente error:

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in D:\programas\Apache Group\Apache2\htdocs\pruebas\prueba.php on line 3


que por lo que entiendo es que el cliente, que no se si se refiere al php o mysql aunque por lo que pone al final parece que es al mysql, no soporta el protocolo de autentificación en la ruta d:\programas\...

Pero estoy usando la ultima versión recomendad de mysql, la version 4.1.

Me da que es un problema de que debo tener la base de datos en algún directorio dentro del servidor apache, pero no sé en cual, ni como configurar mysql, que supongo que será lo último que tenga que hacer, después de instalar primero el apache y después el php.



También he intentado conectar a la base de datos con la aplicación javamyadmin, un programa en java que permite hacer esto.

Sólo pide cuatro datos, el server (localhost), el puerto, 3306, el login y password. Me dice que es rechazada la conexión cuando intento conectar.

El caso es que he estado viendo la configuración del firewall de windows y tengo habilitado explícitamente el puerto 3306, así que no creo que sea problema del firewall.


A ver si me podeís ayudar a conectar a la base de datos a través de estas aplicacines, porque no lo consigo, y eso que con mysql control center y aplicaciones de este sí que me deja, y con eskuel ó phpmyadmin ó javamyadmin no me deja.


Utilizo apache2, php4 y mysql 4.1. El caso es que probando el apache me muestra la página de test, y desde fuera, desde casa de un amigo también puede acceder. El php también funciona porque me muestra la información utilizando la clásica función de ver la información, pero no puedo acceder a mysql más que a través de la línea de comando. ¿Qué puede pasar? He segudio los pasos de configuración del fichero my.ini y copiado al directorio c:\windows (tengo windows xp pro) y no sé que más hacer.


Gracias.

Comptonalvaro.
  #2 (permalink)  
Antiguo 03/02/2005, 04:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si miras los comentarios de los usaurios en http://www.php.net/manual/en/function.mysql-connect.php . El problema es que mysql en la version 4.x cambio la forma de encriptar los passwords. Y las aplicaciones clientes (libreria mysql de php, por ejemplo) intentan conectarse usando el metodo antiguo de encriptar claves.

En http://dev.mysql.com/doc/mysql/en/password-hashing.html tienes algunas posibles soluciones.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/02/2005, 05:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 2
Antigüedad: 19 años, 2 meses
Puntos: 0
Vale, gracias por el enlace.

Leyendo las psibles soluciones que dan hay dos básicamente.

La primera de ellas es que intente actualizar los cliente para que soporten la nueva versión, y por clientes supongo que se refiere a los programas tanto php, como phpmyadmin, javamyadmin y eskuel (son los que he probado). De eskuel sé que no hay versiones nuevas porque me la bajé hace poco, y de phpmyadmin me pasa lo mismo. Mi duda es si al menos de php (uso la versión 4) hay alguna versión nueva que soporte.

La segunda solución es crear o cambiar el tipo de versión a los usuarios, aunque esta opción la usaría si no existe una versión nueva de php (la 5 no la he probado) que lo soporte.

Gracias.

Comptonalvaro.
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 04:44.