Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Chuck Swiger
On Jan 14, 2012, at 5:18 PM, Paul Beard wrote: Turns out some applications won't work if you move the socket if they are configured to access localhost. Seems like a misunderstanding of networking if you can specify a port number in a configuration file but the application looks to the

Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Paul Beard
On Jan 15, 2012, at 8:17 AM, Chuck Swiger wrote: Something looking for a network location specified as a host and port (ie, localhost:3306) is using a TCP socket. Something looking for /tmp/mysqld.sock is using a UNIX domain socket. Changing the path to the UNIX domain socket will have

Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Chuck Swiger
On Jan 15, 2012, at 8:43 AM, Paul Beard wrote: Useful clarification but a UNIX domain socket sounds less like networking and more like interprocess communication, i.e., something explicitly tied to a single host. Yes, that's right. There is a skip networking option for MySQL that

Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Paul Beard
On Jan 15, 2012, at 9:20 AM, Chuck Swiger wrote: You're confusing two things which are different. At the risk of boring everyone on this list, I think I understand it as far as I need to: I am not the developer of the app(s) that seem to generate this issue. If you specify a path via

Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Matthew Seaman
On 15/01/2012 17:20, Chuck Swiger wrote: If you specify a hostname and port via --host=localhost --port=3306, then you are describing a TCP socket. There is no pathname involved. You could connect regardless of where mysqld is putting the socket. Some MySQL clients will gratuitously change

Re: database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-15 Thread Matthew Seaman
On 15/01/2012 17:50, Paul Beard wrote: The app configurations are not this granular: hostname and port are configured but there is nothing that makes clear that IF you specify localhost, you WILL BE using a domain socket which MUST BE /tmp/mysql.sock and IF you move it or your distribution

Solution: mysqld fails to run, can't create/find mysql.sock

2012-01-14 Thread Paul Beard
Woke up to a screenful of error messages about failed mysql backups and found that for some reason, mysql was refusing to run at all. The issue was not just a missing mysql.sock but an inability to create one. I could do it by hand or at least create a file with the same name and permissions

Re: Solution: mysqld fails to run, can't create/find mysql.sock

2012-01-14 Thread Paul Beard
On Jan 14, 2012, at 11:15 AM, Chuck Swiger wrote: The meaning seems obvious enough; mysqld was unable to bind to the socket, which is what perror() meant with Permission denied: Really? I read this: 120114 9:39:04 [ERROR] Do you already have another mysqld server running on socket:

Re: Solution: mysqld fails to run, can't create/find mysql.sock

2012-01-14 Thread Chuck Swiger
On Jan 14, 2012, at 10:17 AM, Paul Beard wrote: I would be interested in knowing how those permissions got changed. Someone or something running as root changed them. I rebooted the system early on in the process as I kept seeing messages like this: 120114 9:39:04 [ERROR] Can't start

database apps that ignore sockets? [was: Solution: mysqld fails to run, can't create/find mysql.sock]

2012-01-14 Thread Paul Beard
On Jan 14, 2012, at 11:15 AM, Chuck Swiger wrote: Anyway, doesn't the mysql port want to keep the socket under /var/run/mysql/mysqld.sock or some such, to avoid issues with /tmp? Turns out some applications won't work if you move the socket if they are configured to access localhost. Seems