MySQL distributions on Unix include a script named mysql.server. It can be used on systems such as Linux and Solaris that use System V-style run directories to start and stop system services. It is also used by the Mac OS X Startup Item for MySQL.
mysql.server can be found in the
support-files directory under your
MySQL installation directory or in a MySQL source
distribution.
If you use the Linux server RPM package
(MySQL-server-),
the mysql.server script will be installed
in the VERSION.rpm/etc/init.d directory with the
name mysql. You need not install it
manually. See Section 2.4, “Installing MySQL on Linux”, for more
information on the Linux RPM packages.
Some vendors provide RPM packages that install a startup script under a different name such as mysqld.
If you install MySQL from a source distribution or using a binary distribution format that does not install mysql.server automatically, you can install it manually. Instructions are provided in Section 2.10.2.2, “Starting and Stopping MySQL Automatically”.
mysql.server reads options from the
[mysql.server] and
[mysqld] sections of option files. For
backward compatibility, it also reads
[mysql_server] sections, although you
should rename such sections to
[mysql.server] when using MySQL
5.1.

User Comments
I recommend everybody to change the section that reads
# Set some defaults
datadir=/usr/local/mysql/data
pid_file=
if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=./bin
else
bindir="$basedir/bin"
fi
in mysql.server to
# Set some defaults
pid_file=
if test -z "$basedir"
then
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
bindir=./bin
else
bindir="$basedir/bin"
datadir="$basedir/data"
fi
in order to have the script look for the data directory under the $basedir, not hard-coded as /usr/local/mysql.
This is particularly important if you are running multiple instances of MySQL on the same server as the datadir is where the script looks for the pid file. Getting this wrong will easily lead to different instances of MySQL sharing the same pid file. The result will be that any mysql stop will stop the last instance startet, not the one intended!
Add your own comment.