Mac OS X

Mac OS X has introduced yet another way of automatically starting services on a Unix system. It specifically has three different startup directories:

  • /System/Library/StartupItems

  • /Library/StartupItems

  • $HOME/Library/StartupItems

The /System/Library/StartupItems directory is for operating system services, and the $HOME/ Library/StartupItems is for user-owned services. MySQL should start up from /Library/StartupItems, the directory for general services that should be started at system boot time.

The StartupItems directories expect each service to have its own directory, so your first step for MySQL is to create the directory /Library/StartupItems/MySQL. It actually does not matter what you call this directory. Whatever you call it, in it you will place two files:

  • A Unix script to start MySQL

  • A startup parameters file called StartupParameters.plist

The Unix script is a simple script that calls the safe_mysqld command to start MySQL. It should have the same name as the directory in which you placed it (in this case, MySQL). It should look something like this:

#!/bin/sh

. /etc/rc.common

if [ "${MYSQLSERVER:=-NO-}" = "-YES
    cd /usr/local/mysql
    bin/mysqld_safe --user=mysql &
fi

The check on the value of $MYSQLSERVER enables you to turn off MySQL in your Mac OS X hostconfig file without having to delete the MySQL directory from your StartupItems. To enable MySQL, you need to add the following line to /etc/hostconfig:

MYSQLSERVER=-YES-

Similarly, you can stop MySQL from starting ...

Get Managing & Using MySQL, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.