[Bug 551130] [NEW] infinite loop in /etc/init/mysql.conf if mysqld is not running.

Gary B gar37bic at gmail.com
Mon Mar 29 20:01:46 BST 2010


Public bug reported:

Please see bug no. 551097 (under Upstart) for more details.  This bug
occurred when moving from 8.04 to Lucid (10.0.0.4) beta.

The file /etc/init/mysql.conf will go into an infinite loop waiting for
mysqladmin to succeed if the mysqld daemon is failing.  This error is
silent, so it was rather difficult to track down where the problem lay -
figuring out where initctl config files were, then trying to modify the
conf file.

In my case this was leaving mysql-server in a state between not-
installed and installed, which caused the entire Software Update system
to screech to a halt.  Every time I tried to run any update process it
would hang indefinitely on the 'stop mysql' and 'start mysql' processes.
I had to kill each of those in turn, so that dpkg could finish.
/usr/sbin/mysqld did not yet exist.

To fix it, I finally ran the individual lines of the pre-start section.
When I ran the install line, /usr/sbin/mysqld appeared.  When I ran
/usr/sbin/mysqld that failed because of complaints about certain lines
in the old my.cnf file.  I backed that up and copied my.cnf.dpkg-dist to
my.cnf and mysqld could then start.  Once I had mysqld runnable I was
able to run mysqladmin, start mysql, stop mysql and so forth without
further problems and now dpkg succeeds.

So there are really two problems:
  1) the infinite loop should be handled differently, and the errors in attempting to install and run mysqld should be visible somewhere so people can figure out what's wrong;
  2) 'start mysql' should have some error output;
  3) there are evidently some incompatibilities between the my.cnf from 8.04 and from 10.0.0.4.

here is the error message when running /usr/sbin/mysqld from the command line.  AFAIK the old configuration is the default from 8.04
# /usr/sbin/mysqld 
100329 14:58:46 [Warning] The syntax '--log' is deprecated and will be removed in MySQL 7.0. Please use '--general_log'/'--general_log_file' instead.
100329 14:58:46 [Note] Plugin 'FEDERATED' is disabled.
100329 14:58:46  InnoDB: Started; log sequence number 0 3776469
100329 14:58:46 [ERROR] /usr/sbin/mysqld: unknown option '--skip-bdb'
100329 14:58:46 [ERROR] Aborting

100329 14:58:46  InnoDB: Starting shutdown...
100329 14:58:47  InnoDB: Shutdown completed; log sequence number 0 3776469
100329 14:58:47 [Note] /usr/sbin/mysqld: Shutdown complete

** Affects: mysql-dfsg-5.1 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
infinite loop in /etc/init/mysql.conf if mysqld is not running.
https://bugs.launchpad.net/bugs/551130
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to mysql-dfsg-5.1 in ubuntu.



More information about the Ubuntu-server-bugs mailing list