[debian-mysql] Bug#751833: will get Can't connect to local MySQL server through socket upon stop unless at least one command is used

Bob Proulx bob at proulx.com
Tue Jun 17 05:59:25 UTC 2014


積丹尼 Dan Jacobson wrote:
> Please try the following experiment:
> # /etc/init.d/mysql start
> [ ok ] Starting MySQL database server: mysqld . . ..
> [info] Checking for tables which need an upgrade, are corrupt or were 
> not closed cleanly..
> # /etc/init.d/mysql stop
> [....] Stopping MySQL database server: mysqldERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
> ERROR 2002 (HY000): Can't connect to l...
> . ok

It is a race condition that has been exposed.  At the termination of
the start script the mysql daemon is not quite yet ready for operation.
It apparently takes another moment for the daemon to finish getting
ready to go.

> The workaround it to issue at least one connection even if very brief,
> #  mysql --user=root --password=...
> ...
> between the start and stop.

This seems to have nothing to do with with the command between.  It is
only with giving the server a little more time to start up.  Running
that command between simply allows startup to fully complete.  If you
wait a little between you will always avoid the problem too.

On my particular speed of machine if I sleep a few seconds between
then the problem is always avoided.

  service mysql start ; sleep 5 ; service mysql stop

Interestingly I can recreate the problem trivially with:

  service mysql start ; service mysql stop

But when restarting I never see the problem.

  service mysql restart

This seems an extremely minor bug.  It is only seen if you start mysql
and then immediately try to stop it.  That is not a normal operating
action for the daemon.  Normally you will start the daemon and then
make use of it.

Bob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-mysql-maint/attachments/20140616/5e7b016f/attachment.sig>


More information about the pkg-mysql-maint mailing list