[Ayuda] help me.., mysql - php connect

Gustavo Guillermo Pérez gustavo en compunauta.com
Sab Jun 25 11:14:41 CDT 2005


El Viernes, 24 de Junio de 2005 20:30, Elizabet B. escribió:
> Hola, acabo de inscribirme a la lista y tengo una duda sobre la conexion
> php-mysql, explico:
>
> Instale Fedora Core 3 el cual ya incluye Apache 2, php 4.3.11 y mysql 3.23,
> sin embargo necesitaba migrar bases de datos hechas con mysql 4.1, asi que
> actualice la version de este ultimo paquete
>
> tambien necesitaba migrar algunos programitas que utilizan las bd's antes
> mencionadas. Al cargar mis paginas php en el navegador surgia el siguiente
> error:
>
> Can't connect to local MySQL server through socket
> '/var/lib/mysql/mysql.sock' (13)
>
> despues de mucho buscar descubri que el error era porque la conexion estaba
> definida hacia localhost y bastaba con cambiar localhost por la ip de mi
> servidor, o darle permisos al usuario nobody sobre mysql.sock, esto ultimo
> no me quedo muy claro....
>
> Solucion:
> cambie todas las referencias a localhost por la ip de mi servidor, sin
> embargo me gustaria saber porque sucede esto. Anteriormente las BD's y los
> respectivos programas que accesan ellas corrian sobre Debian potato con
> mysql 4.1.7, php 4.3.9 y apache 1.3 y no habia problema con la conexion a
> localhost
>
> compare mis archivos php.ini de ambos servidores y encontre la siguiente
> diferencia:
>
> * php.ini en server Debian
>
> mysql
>
> MySQL Support enabled
> Active Persistent Links  0
> Active Links  0
> Client API version  3.23.49
> MYSQL_MODULE_TYPE  builtin
> MYSQL_SOCKET  /var/run/mysqld/mysqld.sock
> MYSQL_INCLUDE  no value
> MYSQL_LIBS  no value
>
> * php.ini en server Fedora
>
> mysql
>
> MySQL Support enabled
> Active Persistent Links  0
> Active Links  0
> Client API version  3.23.58
> MYSQL_MODULE_TYPE  external
> MYSQL_SOCKET  /var/lib/mysql/mysql.sock
> MYSQL_INCLUDE  -I/usr/include/mysql
> MYSQL_LIBS  -L/usr/lib/mysql -lmysqlclient
>
el problema no lo tienen ni la configuración de PHP ni la de MySQL, en primer 
lugar MySQL por defecto tiene permisos para conectarse a localhost, aunque 
sea root, no debes cambiar las direcciones IP de localhost de 127.0.0.1, si 
el servidor con la base de datos reside en otro lugar diferente, alcanzaría 
con dar permisos con el comando GRANT en una consola local mysql como root al 
usuario remoto que se conectará, no sería necesario en el archivo /etc/hosts 
hacer referencia a un nombre de la ip del servidor, porque usarías dicha 
dirección:

GRANT ALL PRIVILEGES ON *.* TO madgus en 192.168.1.33 IDENTIFIED BY 'ajajajaja';

Siendo esa dirección IP la de la computadora donde NO está instalado MySQL y 
desde donde se va a usar.

Por lo que tengo entendido php busca MySQL en localhost así que por algún 
motivo pareciera que no está funcionando MySQL, prueba lanzarlo desde una 
terminal.

/etc/init.d/mysql start

y revisa los logs, luego intenta entrar con la consola:
# >mysql
# mysql # > show databases;

Si da el mismo error no es culpa de PHP.
revisa que /etc/hostname o /etc/HOSTNAME tengan el nombre correcto de tu PC y 
si quieres lo defines en /etc/hosts con la misma IP que localhost

Saludos.
-- 
Gustavo Guillermo Pérez
Compunauta uLinux
www.compunauta.com

 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda