MySQL server Upstart script not working on boot

7,298

Solution 1

Turns out Upstart start up jobs can have problems on OpenVZ.

Changing:

start on (net-device-up
          and local-filesystems
      and runlevel [2345])

to:

start on runlevel [2345]

fixed the problem for me.

Solution 2

You can configure the upstart scripts with a simple GUI tool named jobs-admin. You can install it by typing sudo apt-get install jobs-admin in a terminal.

Once installed you can manage all upstart scripts including MySQL using this tool.

alt text

Hope this helps.

Share:
7,298

Related videos on Youtube

Rowno
Author by

Rowno

Updated on September 17, 2022

Comments

  • Rowno
    Rowno over 1 year

    For some reason the Upstart script for the MySQL server isn't working when I boot my server, however it does work once the server has booted and I execute sudo start mysql manually.

    I'm running an OpenVZ VPS with Ubuntu 10.04 installed and MySQL version 5.1.41 (latest stable from the repository). MySQL is a fresh install with no config changed.

    /etc/init/mysql.conf:

    # MySQL Service
    
    description     "MySQL Server"
    author          "Mario Limonciello <[email protected]>"
    
    start on (net-device-up
              and local-filesystems
          and runlevel [2345])
    stop on runlevel [016]
    
    respawn
    
    env HOME=/etc/mysql
    umask 007
    
    pre-start script
        #Sanity checks
        [ -r $HOME/my.cnf ]
        [ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
        # Load AppArmor profile
        if aa-status --enabled 2>/dev/null; then
            apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld || true
        fi
        LC_ALL=C BLOCKSIZE= df --portability /var/lib/mysql/. | tail -n 1 | awk '{ exit ($4<4096) }'
    end script
    
    exec /usr/sbin/mysqld
    
    post-start script
        for i in `seq 1 30` ; do
            /usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping && {
                exec "${HOME}"/debian-start
                # should not reach this line
                exit 2
            }
            sleep 1
        done
        exit 1
    end script
    
    • evgeny
      evgeny over 13 years
      What is the output of runlevel? What does /etc/init/mysql.conf contain at the top? It should read something like start on (net-device-up and local-filesystems and runlevel [2345])
    • Rowno
      Rowno over 13 years
      I've added the contents of the /etc/init/mysql.conf file. Also using /etc/rc*.d isn't working any more, however manual starting is still working. Where can I get the runlevel output?
    • evgeny
      evgeny over 13 years
      Just run the runlevel command. The config looks similar to mine...
    • Rowno
      Rowno over 13 years
      The output of runlevel is N 2.
  • Rowno
    Rowno over 13 years
    I don't see how a GUI tool will help me on Ubuntu Server...
  • SpamapS
    SpamapS over 13 years
    +1, can you maybe also add a link to other accounts of OpenVZ instances having problems w/ upstart? I'm guessing its because there's no filesystems mounting going on, so local-filesystems never gets triggered.
  • djangofan
    djangofan over 12 years
    This gui , version 0.8.0 didnt work for me on Ubuntu 11.10. I think it is too buggy still.
  • djangofan
    djangofan over 12 years
    This didn't work for me on Ubuntu 11.10 with Mediatomb. Tried it.
  • Rowno
    Rowno over 12 years
    I ended up switching to Linode because they use Xen servers, due to the numerous problems I was having with OpenVZ like this one.