Foros del Web » Administración de Sistemas » Unix / Linux »

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

Estas en el tema de Can't connect to local MySQL server through socket '/tmp/mysql.sock' en el foro de Unix / Linux en Foros del Web. Hola Tengo este problema en mi mysql FEDORA, lo cual no me permite ejecutar ninguna tarea relacionada con la BD - insert- delete ..... estoy ...
  #1 (permalink)  
Antiguo 25/04/2005, 23:05
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
Can't connect to local MySQL server through socket '/tmp/mysql.sock'

Hola

Tengo este problema en mi mysql FEDORA, lo cual no me permite ejecutar ninguna tarea relacionada con la BD - insert- delete ..... estoy con php porque me da este error

Can't connect to local MySQL server through socket '/tmp/mysql.sock'(13)

supuestamente la solución esta aquí

Código:
http://www.tech-recipes.com/mysql_tips762.html
pero no me ha servido, alguien lo ha tenido que me pueda iluminar

Muchas gracias.
__________________
crecer es conocer y conocer es aprender
  #2 (permalink)  
Antiguo 26/04/2005, 06:40
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
¿El demonio mysql está corriendo? Verifícalo con el comando:
Código:
/sbin/service mysqld status
O puedes usar la herramienta gráfica system-config-services. Si el demonio está parado, puedes iniciarlo con la misma herramienta gráfica o con:
Código:
/sbin/service mysqld start
Este último comando tienes que ejecutarlo como root.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #3 (permalink)  
Antiguo 27/04/2005, 10:17
 
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 18 años, 11 meses
Puntos: 0
otra forma:
inicia yast y el editor de niveles de ejecucion, buscas mysqlserver y le das activar y listo.
Nota: debes tener instalado sqlserver
  #4 (permalink)  
Antiguo 27/04/2005, 10:38
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
m@x_239, el chico usa Fedora, no SUSE. Así que no creo que tenga el YaST.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 28/04/2005, 10:07
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
alguna otra solucion ?
gracias
__________________
crecer es conocer y conocer es aprender
  #6 (permalink)  
Antiguo 28/04/2005, 11:56
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
hola
en el admin de servicios me da esto Se está ejecutando mysqld (pid 2980)... OK, se esta ejecutando,
pero no se puede detener ni reiniciar el servidor mysqld.

y el ERROR Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) PERSISTE y el tal mentado mysql.sock no existe, que le puedo hacer muchas gracias

que puede ser
__________________
crecer es conocer y conocer es aprender
  #7 (permalink)  
Antiguo 28/04/2005, 12:36
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 6 meses
Puntos: 47
Deberias tener el socket creado si Mysql esta corriendo crrectamente.

Busca el archivo de la siguiente manera:
Como root en la consola, escribi:
Código:
# updatedb
# locate mysql.sock
Y postea donde lo encontras.

Saludos.
  #8 (permalink)  
Antiguo 28/04/2005, 13:38
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
que particular el mysql.sock esta

/root/.Trash/mysql.sock~
/root/.Trash/mysql.sock


ahora???
__________________
crecer es conocer y conocer es aprender
  #9 (permalink)  
Antiguo 28/04/2005, 14:02
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
¿Estás usando un mysql "oficial" de Fedora? Porque es bastante raro que mysql.sock esté en /root. Tal vez lo estás iniciando de una manera un tanto extraña.

Respalda tus bases de datos y reinstala mysql.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #10 (permalink)  
Antiguo 28/04/2005, 14:40
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
en un sitio encontre esto

"""
Tu problema no es DB, no es mySQL, el problema es SIMPLE, en Fedora Core los servidores mySQL no crean el socket en /var/lib/mysql (esta ruta es en Debian y Gentoo) sino en /tmp/mysql.sock...
en tu cliente de conexión al mySQl cambia la ruta del socket, por defecto, en tu archivo my.cnf cambia la variable
socket = donde_tu_quieras
y reinicias el servicio...
si intentas conectar mediante sockets unix/posix, debes saber donde están..."""

ya modifique mi my.cnf, pero sigue mal, el punto es este por ejemplo con el MySQLCC me conecto pura vida puedo ver la BD, las tablas ...., pero cuando hago la conexion con php haciendo las tareas normales de insert ..., me pone el tal mentado error del mysql.sock, y no trabaja

no entiendo

muchas gracias
__________________
crecer es conocer y conocer es aprender
  #11 (permalink)  
Antiguo 28/04/2005, 15:23
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 6 meses
Puntos: 47
El problema es como explican en esa web (yo tambien llegue ahi) en otros posts.
Los procesos locales del servidor (PHP por ejemplo), en general no utilizan una conexion TCP/IP para conectarse al Mysql, si no que utilizan sockets UNIX para hacerlo: el famoso mysql.sock

Los programas que dices que se conectan a la base correctamente, lo mas seguro es que esten utilizando conexiones tcp/ip.

Tu problema es que el socket no esta donde deberia estar (/tmp/mysql.sock) asi que como te dijo Ociomax, hace una copia de seguridad de la base de datos, y reinstala el mysql desde los CD's del Fedora que tenes instalado.

Saludos.
  #12 (permalink)  
Antiguo 30/04/2005, 23:42
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
aunque lo reinstale, que ya lo he hecho el php no quiere trabajar, se debe modificar algo al php, no se, me pueden decir
__________________
crecer es conocer y conocer es aprender
  #13 (permalink)  
Antiguo 01/05/2005, 06:19
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 8 meses
Puntos: 76
Cita:
Iniciado por ociomax
(...) es bastante raro que mysql.sock esté en /root (...)
Quizás la explicación esté en el nombre del subdirectorio dentro de /root, que se llama ./Trash. Es decir, se trata del directorio donde se almacenan los archivos que se envían a la papelera en Gnome. Alguien parece haber "borrado" algo que no debía, y no he sido yo.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #14 (permalink)  
Antiguo 01/05/2005, 12:27
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 6 meses
Puntos: 47
Dede la consola local te podes conectar bien?
  #15 (permalink)  
Antiguo 01/05/2005, 23:52
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
no hay problema con una interfaz GUI, para mysql el unico problema es la hora de interactuar el php y mysql.

con respecto a desde la consola a que te refieres comandos para crear BD.

de escho la ultiam vez que reistalle el mysql, el mysql.sock, se crea en /tmp/mysql.sock, no hay problema... pero no trabaja para tareas tipo web.

muchas gracias.
__________________
crecer es conocer y conocer es aprender
  #16 (permalink)  
Antiguo 02/05/2005, 16:01
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 6 meses
Puntos: 47
Digo de entrar al cliente mysql desde la consola de tu Linux, asi:

$ mysql -u usuario -p

Te va a pedir password de tu usuario y deberias entrar al simbolo del MySql. Proba si queres ponerle el usuario y la contraseña que usas en PHP.

mysql>

Es para probar si otro cliente local puede conectarse al Mysql. Si el socket no esta o no es accesible, deberia darte el mismo error que en PHP.
  #17 (permalink)  
Antiguo 02/05/2005, 19:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 0
Yo tuve un problema similar solo que fue en red hat 9 ( casi lo mismo). Luego de intentar solucionarlo y al fin no llegue a una solucion lo que hice fue bajar un tar.gz de mysql y dejarlo como yo queria. Lo compile normalmente y alfinal solo hice un grupo y un usuario mysql cambia dueños a los archivos con chmod y todo funciono de maravilla. Eso si tienes que usar el php y el apache en tar.gz para que al momento de compilar el php especifiques que quieres adjuntarle por ejemplo --with-mysql=/direccion/mysql
  #18 (permalink)  
Antiguo 03/05/2005, 07:37
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
¿Tienes instalado el paquete php-mysql?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #19 (permalink)  
Antiguo 03/05/2005, 10:13
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
con respecto a loa consola me paso esto

mysql -u root -p
Enter password:
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

persiste el problema
__________________
crecer es conocer y conocer es aprender
  #20 (permalink)  
Antiguo 03/05/2005, 10:31
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
en la Configuracion de Servicios me coloca esto

Estado del mysqld
---> mysqld inactivo pero subsistema bloqueado
por eso supongo no esta ejecutandose y no puede encontrar el mysql.sock

??
__________________
crecer es conocer y conocer es aprender
  #21 (permalink)  
Antiguo 03/05/2005, 10:39
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
¿Qué dice tu archivo /var/log/mysqld.log?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #22 (permalink)  
Antiguo 03/05/2005, 11:51
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
que a que te refieres, dice mucho
__________________
crecer es conocer y conocer es aprender
  #23 (permalink)  
Antiguo 03/05/2005, 11:53
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
asi lo ultimo es --------
.--------------

050503 00:41:05 mysqld started
Cannot initialize InnoDB as 'innodb_data_file_path' is not set.
If you do not want to use transactional InnoDB tables, add a line
skip-innodb
to the [mysqld] section of init parameters in your my.cnf
or my.ini. If you want to use InnoDB tables, add to the [mysqld]
section, for example,
innodb_data_file_path = ibdata1:10M:autoextend
But to get good performance you should adjust for your hardware
the InnoDB startup options listed in section 2 at
http://www.innodb.com/ibman.html
050503 0:41:05 /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13)
/usr/libexec/mysqld: ready for connections
050503 00:41:10 mysqld started
050503 0:41:10 Can't start server: Bind on TCP/IP port: Address already in use
050503 0:41:10 Do you already have another mysqld server running on port: 3306 ?
050503 0:41:10 Aborting

050503 0:41:10 /usr/libexec/mysqld: Shutdown Complete

050503 00:41:10 mysqld ended

050503 00:41:27 mysqld started
050503 0:41:27 Can't start server: Bind on TCP/IP port: Address already in use
050503 0:41:27 Do you already have another mysqld server running on port: 3306 ?
050503 0:41:27 Aborting

050503 0:41:27 /usr/libexec/mysqld: Shutdown Complete

050503 00:41:27 mysqld ended
__________________
crecer es conocer y conocer es aprender
  #24 (permalink)  
Antiguo 03/05/2005, 12:00
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
El mensaje está claro: tienes otro servidor mysql corriendo en el sistema.

Elimina el archivo de log, reinicia tu sistema, inicia mysql y examina
el nuevo archivo de log.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #25 (permalink)  
Antiguo 03/05/2005, 12:20
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
aqui lo nuevo que pone

050503 01:12:08 mysqld ended

050503 01:23:23 mysqld started
Cannot initialize InnoDB as 'innodb_data_file_path' is not set.
If you do not want to use transactional InnoDB tables, add a line
skip-innodb
to the [mysqld] section of init parameters in your my.cnf
or my.ini. If you want to use InnoDB tables, add to the [mysqld]
section, for example,
innodb_data_file_path = ibdata1:10M:autoextend
But to get good performance you should adjust for your hardware
the InnoDB startup options listed in section 2 at
http://www.innodb.com/ibman.html
050503 1:23:23 /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13)
/usr/libexec/mysqld: ready for connections
__________________
crecer es conocer y conocer es aprender
  #26 (permalink)  
Antiguo 03/05/2005, 14:44
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
estado actual

mi entorno GUI MySQLCC se conecta pura vida, ya que el socket esta bien direccionado
/tmp/mysql.sock

ok, bien, me coneto veo la bases datos, las tablas, pero a la hora de trabajar con php nada
""" Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) """
realmente estoy perdido, que pasa???

sera acaso el codigo, bueno culaquier cosa

index.html
-------------------------
<html>
<body>


<form method="post" action="procesa.php">
Nombre:<input type="Text" name="nombre"><br>
TELEFONO:<input type="Text" name="telefono"><br>
<input type="Submit" name="submit" value="Enter information">
</form>>
</body>
</html>
-----------------------

procesa.php

<?php

$db = mysql_pconnect("localhost","root");

mysql_select_db("prueba",$db);

$sql = "INSERT INTO agenda (nombre,telefono)";

$sql .= " VALUES ('".$_POST['nombre']."', '".$_POST['telefono']."')";

$result = mysql_query($sql);

echo "Información introducida.\n";

echo "<p>";
$result = mysql_query($sql) or die(mysql_error());
?>

gracias
__________________
crecer es conocer y conocer es aprender

Última edición por karlo_; 03/05/2005 a las 14:49
  #27 (permalink)  
Antiguo 03/05/2005, 15:04
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
A ver...

Creo que es bueno retroceder un poco. No has contestado varias preguntas importantes: ¿Qué versión de Fedora estás usando? ¿Qué versión de mysql? ¿Instalaste desde los paquetes oficiales de Fedora, o instalaste algo no-oficial? ¿Tienes instalado el paquete php-mysql?

Tal vez debas considerar seriamente una reinstalación completa de mysql.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #28 (permalink)  
Antiguo 03/05/2005, 15:15
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 20 años, 11 meses
Puntos: 1
bueno vamos a ver como me va
FEDORA Core 3,
mysql -> mysql-3.23.58-13,
php -> php-mysql-4.3.9-3,
si esta instalada todo lo oficial, alguna otra cosa me dices
__________________
crecer es conocer y conocer es aprender
  #29 (permalink)  
Antiguo 03/05/2005, 15:23
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 21 años, 10 meses
Puntos: 35
La última actualización de mysql en Fedora 3 es la mysql-3.23.58-16.FC3.1.i386. Búscala en un mirror de Fedora, o usa yum para actualizarte. Además, asegúrate de que SELinux no esté interfiriendo (usa system-config-securitylevel para desactivarlo).

Si es necesario, respalda tus bases de datos y elimina TODOS los paquetes relacionados con mysql, incluyendo sus archivos de configuración. Puedes usar yum para eso (yum remove mysql*). Luego reinstalas.

Sigo creyendo que es raro que el sock aparezca en /tmp/mysql.sock. Al menos aquí (Fedora Core 3, updates al día, nada de configuraciones extrañas) aparece en /var/lib/mysql. ¿Estás seguro de que no cambiaste alguna configuración de mysql, o de que no instalaste ningún paquete extraño en tu sistema?

BTW, veo que te conectas a mysql como root. ¿No has creado un usuario "normal" dentro de la base de datos?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #30 (permalink)  
Antiguo 04/05/2005, 06:27
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 6 meses
Puntos: 47
Otra cosa, proba cambiar:
Código:
$db = mysql_pconnect("localhost","root");
por
Código:
$db = mysql_pconnect("127.0.0.1","root");
No lo probe en PHP, pero ciertos sistemas al recibir la IP como parametro utilizan una conexion TCP en vez del socket.
Segui las instrucciones de nuestro Gurú Ociomax, estoy en un Fedora 3 ahora y mi socket tambien esta en /var/lib/mysql

Manda tambien la respuesta al comando, como root:
Código:
rpm -qa | grep mysql
para saber que paquetes con mysql tenes instalados.

Saludos.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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