After a recent emerge, mysql applications that use /var/run/mysqld/mysqld.sock fail to connect to the socket, due to a path quoting problem. This happens on two different machines. On one machine, postfix breaks. On another machine, mythtv breaks. I emerge and update my systems approximately weekly, so something broke within the last 1-2 weeks. I have reverted to an older mysql to no avail, so I don't think mysql itself is the culprit. Either a configuration setting changed (which I have not been able to find), or it is a problem within some library/middleware interface to mysql. mysql was verified as running. /var/run/mysqld/mysqld.sock exists, and the permissions along that path allow anyone to connect to it. Running the mysql binary allows me to access the data without issue. strace revealed that the client programs are trying to open "'/var/run/mysqld/mysqld.sock'". Notice the single quotes inside the double quotes. Of course such a file does not exist. I am having significant troubles locating the source of this misquoting. Since it happens to both postfix, and mythtv (the only mysql-dependant apps I run), and since it does not get fixed when I back-rev mysql (I tried 5.0.24-r1 and 5.0.19-r1 with no luck). Here is emerge --info from the postfix system: purple tmp # emerge --info Portage 2.1.1 (hardened/x86/2.6, gcc-3.4.6, glibc-2.3.6-r5, 2.6.17-hardened-r1purple i686) ================================================================= System uname: 2.6.17-hardened-r1purple i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.12.5 Last Sync: Sun, 22 Oct 2006 21:50:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mfpmath=sse -msse -msse2 -mmmx -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -msse -msse2 -mmmx -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.gentoo.gr.jp http://gentoo.gg3.net/ http://gentoo.channelx.biz/ http://ftp.gentoo.or.kr/ http://gentoo.kems.net http://gentoo.scphost.com http://ftp.isu.edu.tw/pub/Linux/Gentoo http://mymirror.asiaosc.org/gentoo/ http://ibiblio.org/pub/Linux/MIRRORS.html" LANG="en_NZ" LC_ALL="en_NZ" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage//packages/x86/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="acl adns apache2 bash-completion berkdb bonobo bzip2 bzlib crypt cscope ctype cups curl curlwrappers dba dbase dbm dbx dga dio dlloader elibc_glibc emacs erandom ethereal expat fam fastcgi flatfile foomaticdb freetds ftp gb gd ginac gmp gnutls gpm hardened hardenedphp i8x0 iconv imagemagick imap inifile input_devices_keyboard input_devices_mouse ipv6 java jpeg kernel_linux libwww linguas_en maildir mailwrapper milter mime minimal mmap mmx mpi mysql nas ncurses nls nptl nptlonly offensive pam pcre pear php pic pie png posix ppds python qdbm readline recode sasl session shared sharedmem sockets socks5 spl sse ssl sysvips tcpd threads tokenizer truetype unicode usb userland_GNU userlocales vhosts video_cards_i810 video_cards_i830 x86 xface xml xmlrpc xorg xpm zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
The same problem here, took some time to find the problem. Edit /usr/portage/eclass/mysql.eclass and remove the quotes at line 172, then reemerge mysql.
Christian Hesse nailed it. That works for me. Owner should fix the eclass.
fixed in cvs, will be soon available for a emerge --sync
good shot! funny thing is, this bug didnt show using web applications (phpBB, coppermine) but did affect for example amaroK. thx for fixing!
some explanations: The motivation for downgrade not working it's that the eclasses is the same for all the ebuilds, admittedly this is not nice in regards to stable packages but make things a lot easyer at in a larger prospective less buggy. The eclass has been modified lately to support the next version of MySQL 5.1 the [client] section of my.cnf had the correct socket path, so applications looking there behaved correctly in any case (and is the same motivation because I missed the bug ;) Those using the build default failed. (remember that connecting to localhost _use_ the socket, 127.0.0.1 does not) thanks Christian Hesse your comment maked the fix very quick
*** Bug 152555 has been marked as a duplicate of this bug. ***
*** Bug 152631 has been marked as a duplicate of this bug. ***
*** Bug 152832 has been marked as a duplicate of this bug. ***
*** Bug 153909 has been marked as a duplicate of this bug. ***