[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