(mysql.info) automatic-start
Info Catalog
(mysql.info) mysql-install-db
(mysql.info) unix-post-installation
(mysql.info) starting-server
2.9.2.2 Starting and Stopping MySQL Automatically
.................................................
Generally, you start the `mysqld' server in one of these ways:
* By invoking `mysqld' directly. This works on any platform.
* By running the MySQL server as a Windows service. This can be done
on versions of Windows that support services (such as NT, 2000,
XP, and 2003). The service can be set to start the server
automatically when Windows starts, or as a manual service that you
start on request. For instructions, see
windows-start-service.
* By invoking `mysqld_safe', which tries to determine the proper
options for `mysqld' and then runs it with those options. This
script is used on Unix and Unix-like systems. See
mysqld-safe.
* By invoking `mysql.server'. This script is used primarily at
system startup and shutdown on systems that use System V-style run
directories, where it usually is installed under the name `mysql'.
The `mysql.server' script starts the server by invoking
`mysqld_safe'. See mysql-server.
* On Mac OS X, you can install a separate MySQL Startup Item package
to enable the automatic startup of MySQL on system startup. The
Startup Item starts the server by invoking `mysql.server'. See
mac-os-x-installation, for details.
The `mysqld_safe' and `mysql.server' scripts and the Mac OS X Startup
Item can be used to start the server manually, or automatically at
system startup time. `mysql.server' and the Startup Item also can be
used to stop the server.
To start or stop the server manually using the `mysql.server' script,
invoke it with `start' or `stop' arguments:
shell> mysql.server start
shell> mysql.server stop
Before `mysql.server' starts the server, it changes location to the
MySQL installation directory, and then invokes `mysqld_safe'. If you
want the server to run as some specific user, add an appropriate `user'
option to the `[mysqld]' group of the `/etc/my.cnf' option file, as
shown later in this section. (It is possible that you will need to edit
`mysql.server' if you've installed a binary distribution of MySQL in a
non-standard location. Modify it to `cd' into the proper directory
before it runs `mysqld_safe'. If you do this, your modified version of
`mysql.server' may be overwritten if you upgrade MySQL in the future,
so you should make a copy of your edited version that you can
reinstall.)
`mysql.server stop' stops the server by sending a signal to it. You can
also stop the server manually by executing `mysqladmin shutdown'.
To start and stop MySQL automatically on your server, you need to add
start and stop commands to the appropriate places in your `/etc/rc*'
files.
If you use the Linux server RPM package (`MySQL-server-VERSION.rpm'),
the `mysql.server' script is installed in the `/etc/init.d' directory
with the name `mysql'. You need not install it manually. See
linux-rpm, 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. The script can be found in the
`support-files' directory under the MySQL installation directory or in
a MySQL source tree.
To install `mysql.server' manually, copy it to the `/etc/init.d'
directory with the name `mysql', and then make it executable. Do this
by changing location into the appropriate directory where
`mysql.server' is located and executing these commands:
shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql
Older Red Hat systems use the `/etc/rc.d/init.d' directory rather than
`/etc/init.d'. Adjust the preceding commands accordingly.
Alternatively, first create `/etc/init.d' as a symbolic link that
points to `/etc/rc.d/init.d':
shell> cd /etc
shell> ln -s rc.d/init.d .
After installing the script, the commands needed to activate it to run
at system startup depend on your operating system. On Linux, you can
use `chkconfig':
shell> chkconfig --add mysql
On some Linux systems, the following command also seems to be necessary
to fully enable the `mysql' script:
shell> chkconfig --level 345 mysql on
On FreeBSD, startup scripts generally should go in
`/usr/local/etc/rc.d/'. The `rc(8)' manual page states that scripts in
this directory are executed only if their basename matches the `*.sh'
shell filename pattern. Any other files or directories present within
the directory are silently ignored. In other words, on FreeBSD, you
should install the `mysql.server' script as
`/usr/local/etc/rc.d/mysql.server.sh' to enable automatic startup.
As an alternative to the preceding setup, some operating systems also
use `/etc/rc.local' or `/etc/init.d/boot.local' to start additional
services on startup. To start up MySQL using this method, you could
append a command like the one following to the appropriate startup file:
/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
For other systems, consult your operating system documentation to see
how to install startup scripts.
You can add options for `mysql.server' in a global `/etc/my.cnf' file.
A typical `/etc/my.cnf' file might look like this:
[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql
[mysql.server]
basedir=/usr/local/mysql
The `mysql.server' script understands the following options: `basedir',
`datadir', and `pid-file'. If specified, they _must_ be placed in an
option file, not on the command line. `mysql.server' understands only
`start' and `stop' as command-line arguments.
The following table shows which option groups the server and each
startup script read from option files:
*Script* *Option Groups*
`mysqld' `[mysqld]', `[server]', `[mysqld-MAJOR_VERSION]'
`mysqld_safe' `[mysqld]', `[server]', `[mysqld_safe]'
`mysql.server' `[mysqld]', `[mysql.server]', `[server]'
`[mysqld-MAJOR_VERSION]' means that groups with names like
`[mysqld-4.1]' and `[mysqld-5.0]' are read by servers having versions
4.1.x, 5.0.x, and so forth. This feature can be used to specify options
that can be read only by servers within a given release series.
For backward compatibility, `mysql.server' also reads the
`[mysql_server]' group and `mysqld_safe' also reads the `[safe_mysqld]'
group. However, you should update your option files to use the
`[mysql.server]' and `[mysqld_safe]' groups instead when using MySQL
5.0.
See option-files.
Info Catalog
(mysql.info) mysql-install-db
(mysql.info) unix-post-installation
(mysql.info) starting-server
automatically generated byinfo2html