Error al conectarme al MY SQL!!!!!!!!!!!!!!!!!!!!!!!

Forums: 

Hace dias tengo un error con la conexion del mysql desde C. Es el sgte ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (22)
Uso hilos para hacer la conexion a la BD. Cada hilo se conecta, modifica lo que tiene que hacer en la BD y se desconecta luego.
Es muy raro porque durante dias funciona la conexion y de repente sale este error. Y ya no se vuelve a conectar.
Ya comprobe que la BD este arriba cuando sucede esto.
Por favor si alguien sabe que puede ser estoy muy atenta a su comentario.

Hola Acl, La BD no muere

Hola Acl,
La BD no muere porque mientras mi aplicacion intenta conectarse yo puedo hacer select, update, insert desde la consola.
Al parecer se satura con tantas conexiones. Porque despues bajo la aplicacion y la levanto de nuevo vuelve todo a a la normalidad.
En el archivo de configuracion figura como maxima cantidad de conexiones 1600, creo que es suficiente.
Estuve verificando y en el codigo cierro todas las conexiones a la BD antes de salir.
Algo que tener en cuenta en la configuaracion?

El error que das arriba habla

Imagen de acl

El error que das arriba habla del socket de sistema de archivos, que es el mismo método que usa el cliente de línea de comandos de mysql para comunicarse con el motor. Si puedes usar el socket con el segundo, también lo puedes usar con el primero. ¿Qué permisos tiene el socket y su directorio padre en ambas situaciones (cuando te funciona y cuando te rechaza)? ¿Será que más de un hilo quiere conectarse al mismo tiempo usando el socket y crea conflictos? No he usado multihilos para usar mysql, así que vale la pena que investigues

¿Has hecho la prueba conectándote con tu aplicación por la interfaz de loopback? Eso debería resolver cualquier posible competencia. Asumo que tu aplicación y BD residen en el mismo host.

Buen dia Señores, Acl, voy

Buen dia Señores,
Acl, voy a fijarme en los puntos que me comentaste.
DeathUser las conexiones que uso no son persistentes tendria que probarlo.
Estuve ejecutando mi aplicaciones con valgrind y salto lo sgte.

==16088== Memcheck, a memory error detector.
==16088== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==16088== Using LibVEX rev 1658, a library for dynamic binary translation.
==16088== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==16088== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==16088== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==16088==
==16088== My PID = 16088, parent PID = 14711. Prog and args are:
==16088== ./tone_selector
==16088== /root/TONE/tone_selector/tone_selector.conf
==16088==
--16088--
--16088-- Command line
--16088-- ./tone_selector
--16088-- /root/TONE/tone_selector/tone_selector.conf
--16088-- Startup, with flags:
--16088-- -v
--16088-- --log-file-exactly=valgrind.14.log
--16088-- Contents of /proc/version:
--16088-- Linux version 2.6.18-8.el5 (mockbuild@builder6.centos.org) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Thu Mar 15 19:46:53 EDT 2007
--16088-- Arch and hwcaps: AMD64, amd64-sse2
--16088-- Valgrind library directory: /usr/lib64/valgrind
--16088-- Reading syms from /root/TONE/tone_selector/tone_selector (0x400000)
--16088-- Reading syms from /usr/lib64/valgrind/amd64-linux/memcheck (0x38000000)
--16088-- object doesn't have a dynamic symbol table
--16088-- Reading syms from /lib64/ld-2.5.so (0x3B50000000)
--16088-- Reading suppressions file: /usr/lib64/valgrind/default.supp
--16088-- Reading syms from /usr/lib64/valgrind/amd64-linux/vgpreload_core.so (0x4802000)
--16088-- Reading syms from /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so (0x4A03000)
--16088-- REDIR: 0x3B50013D80 (index) redirected to 0x4A06550 (index)
--16088-- REDIR: 0x3B50013F30 (strcmp) redirected to 0x4A067D0 (strcmp)
--16088-- REDIR: 0x3B50013F60 (strlen) redirected to 0x4A06700 (strlen)
--16088-- Reading syms from /lib64/libpthread-2.5.so (0x3B51000000)
--16088-- Reading syms from /lib64/libdl-2.5.so (0x3B50800000)
--16088-- Reading syms from /usr/lib64/mysql/libmysqlclient_r.so.15.0.0 (0x3B51800000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /usr/lib64/libz.so.1.2.3 (0x3B51400000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /lib64/libcrypt-2.5.so (0x3B53000000)
--16088-- Reading syms from /lib64/libnsl-2.5.so (0x3B51C00000)
--16088-- Reading syms from /lib64/libm-2.5.so (0x3B50C00000)
--16088-- Reading syms from /lib64/libssl.so.0.9.8b (0x3B56000000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /lib64/libcrypto.so.0.9.8b (0x3B53400000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /lib64/libc-2.5.so (0x3B50400000)
--16088-- Reading syms from /usr/lib64/libgssapi_krb5.so.2.2 (0x3B54C00000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /usr/lib64/libkrb5.so.3.2 (0x3B54800000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /lib64/libcom_err.so.2.1 (0x3B53C00000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /usr/lib64/libk5crypto.so.3.0 (0x3B54400000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /usr/lib64/libkrb5support.so.0.1 (0x3B54000000)
--16088-- object doesn't have a symbol table
--16088-- Reading syms from /lib64/libresolv-2.5.so (0x3B53800000)
--16088-- REDIR: 0x3B504765B0 (memset) redirected to 0x4A06920 (memset)
--16088-- REDIR: 0x3B50476CD0 (memcpy) redirected to 0x4A06FF0 (memcpy)
--16088-- REDIR: 0x3B50475700 (rindex) redirected to 0x4A06400 (rindex)
--16088-- REDIR: 0x3B50475310 (strlen) redirected to 0x4A066C0 (strlen)
--16089-- REDIR: 0x3B50470650 (malloc) redirected to 0x4A05787 (malloc)
--16089-- REDIR: 0x3B50475E00 (memchr) redirected to 0x4A06850 (memchr)
--16089-- REDIR: 0x3B50474BE0 (index) redirected to 0x4A064F0 (index)
--16089-- REDIR: 0x3B50475650 (strncpy) redirected to 0x4A07170 (strncpy)
--16089-- REDIR: 0x3B50475590 (strncmp) redirected to 0x4A06720 (strncmp)
--16089-- REDIR: 0x3B50474DD0 (strcpy) redirected to 0x4A06D90 (strcpy)
--16088-- REDIR: 0x3B50471F20 (free) redirected to 0x4A05397 (free)
--16089-- REDIR: 0x3B50471F20 (free) redirected to 0x4A05397 (free)
==16088==
==16088== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
--16088--
--16088-- supp: 4 Fedora-Core-6-hack3-ld25
==16088== malloc/free: in use at exit: 0 bytes in 0 blocks.
==16088== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==16088==
==16088== All heap blocks were freed -- no leaks are possible.
--16088-- memcheck: sanity checks: 2 cheap, 1 expensive
--16088-- memcheck: auxmaps: 625 auxmap entries (40000k, 39M) in use
--16088-- memcheck: auxmaps: 603124 searches, 5283442 comparisons
--16088-- memcheck: SMs: n_issued = 37 (592k, 0M)
--16088-- memcheck: SMs: n_deissued = 1 (16k, 0M)
--16088-- memcheck: SMs: max_noaccess = 524287 (8388592k, 8191M)
--16088-- memcheck: SMs: max_undefined = 14 (224k, 0M)
--16088-- memcheck: SMs: max_defined = 667 (10672k, 10M)
--16088-- memcheck: SMs: max_non_DSM = 37 (592k, 0M)
--16088-- memcheck: max sec V bit nodes: 0 (0k, 0M)
--16088-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0)
--16088-- memcheck: max shadow mem size: 4736k, 4M
--16088-- translate: fast SP updates identified: 1,602 ( 87.2%)
--16088-- translate: generic_known SP updates identified: 128 ( 6.9%)
--16088-- translate: generic_unknown SP updates identified: 106 ( 5.7%)
--16088-- tt/tc: 4,065 tt lookups requiring 4,110 probes
--16088-- tt/tc: 4,065 fast-cache updates, 5 flushes
--16088-- transtab: new 1,920 (42,913 -> 833,291; ratio 194:10) [0 scs]
--16088-- transtab: dumped 0 (0 -> ??)
--16088-- transtab: discarded 12 (257 -> ??)
--16088-- scheduler: 287,442 jumps (bb entries).
--16088-- scheduler: 2/2,322 major/minor sched events.
--16088-- sanity: 3 cheap, 1 expensive checks.
--16088-- exectx: 30,011 lists, 4 contexts (avg 0 per list)
--16088-- exectx: 4 searches, 2 full compares (500 per 1000)
--16088-- exectx: 0 cmp2, 6 cmp4, 0 cmpAll
--16089-- REDIR: 0x3B504702E0 (calloc) redirected to 0x4A04AAC (calloc)
--16089-- REDIR: 0x3B50474A20 (strcat) redirected to 0x4A06A00 (strcat)
--16089-- REDIR: 0x3B50477660 (strchrnul) redirected to 0x4A069B0 (strchrnul)
--16089-- REDIR: 0x3B50474D90 (strcmp) redirected to 0x4A06790 (strcmp)
--16089-- REDIR: 0x3B504769D0 (stpcpy) redirected to 0x4A06CB0 (stpcpy)
--16089-- Reading syms from /lib64/libnss_files-2.5.so (0x4D3C000)
--16089-- REDIR: 0x3B50477530 (rawmemchr) redirected to 0x4A069E0 (rawmemchr)
--16089-- REDIR: 0x3B50472100 (realloc) redirected to 0x4A05838 (realloc)
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x6D4A000)
--16089-- REDIR: 0xFFFFFFFFFF600400 (???) redirected to 0x380279E1 (???)
--16089-- REDIR: 0x3B50475400 (strnlen) redirected to 0x4A06690 (strnlen)
--16089-- Reading syms from /lib64/libgcc_s-4.1.1-20070105.so.1 (0x3B52400000)
--16089-- object doesn't have a symbol table
--16089-- Discarding syms at 0x6D4A000-0x6F53000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x6349000)
--16089-- Discarding syms at 0x6349000-0x6552000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
==16089== Source and destination overlap in memcpy(0x7FF0004D0, 0x7FF0004E0, 192)
==16089== at 0x4A07073: memcpy (mc_replace_strmem.c:116)
==16089== by 0x404599: tone_selector (string3.h:51)
==16089== by 0x404A1F: main (tone_selector.c:58)

--16089-- Reading syms from /lib64/libnss_dns-2.5.so (0x11263000)
--16089-- REDIR: 0xFFFFFFFFFF600000 (???) redirected to 0x380279D7 (???)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()
--16089-- Reading syms from /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 (0x4F47000)
--16089-- Discarding syms at 0x4F47000-0x5150000 in /root/TONE/tone_selector/actionlibs/libactbuy.so.0.0 due to munmap()

Creo que la parte en negrita podria influir en algo en el comportamiento de la aplicacion.
Ahora.... como puedo saber donde esta el problema dentro del fuente?
Lo primero que se me pasa es imprimir las direcciones de memoria a la cual apuntan mis punteros y comparar con lo que sale en el valgrind. Alguna otra sugerencia?
Gracias por todas las respuestas!

Hola Señores, Ya se cual

Hola Señores,
Ya se cual fue el problema. los valores de los datos de la BD no estaban siendo bien asignados motivo por el cual cuando se intentaba conectar se encontraba con basura.
Muchas Gracias por la ayuda!

La solución aunque sea atrasado

Imagen de freecard

Al igual que muchos de ustedes tuve el mismo problema y, lo único que hice para resolverlo fue iniciar el servicio de "NetworkManager" y nada más. Lo que veo es que se está desconectando este servicio y ahí es cuando no puedes leer MySql.
Espero que esto sirva en caso de que a futuro se encuentren con el mismo problema.

Suerte