Spec-Zone .ru
спецификации, руководства, описания, API
|
Generally, you start the mysqld server in one of these ways:
Invoke mysqld directly. This works on any platform.
Run the MySQL server as a Windows service. 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 Section 2.3.5.7, "Starting MySQL as a Windows Service".
Invoke 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 Section 4.3.2, "mysqld_safe — MySQL Server Startup Script".
Invoke mysql.server. This script is used primarily at system
startup and shutdown on systems that use System V-style run directories (that is, /etc/init.d
and run-level specific directories), where it usually is
installed under the name mysql
. The mysql.server script starts the server by invoking mysqld_safe.
See Section 4.3.3, "mysql.server — MySQL Server Startup Script".
On Mac OS X, 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 Section 2.4.3, "Installing the MySQL Startup Item", for details. A MySQL Preference Pane also provides control for starting and stopping MySQL through the System Preferences, see Section 2.4.4, "Installing and Using the MySQL Preference Pane".
Use the Solaris/OpenSolaris service management framework (SMF) system to initiate and control MySQL startup. For more information, see Section 2.6.2, "Installing MySQL on OpenSolaris Using IPS".
The mysqld_safe and mysql.server scripts, Windows server, Solaris/OpenSolaris SMF, and the Mac OS X Startup Item (or MySQL Preference Pane) 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 nonstandard location. Modify it to change location 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-
),
or a native Linux package installation, the mysql.server script may be installed in the VERSION
.rpm/etc/init.d
directory with the name mysql
. See Section 2.5.1, "Installing MySQL on Linux
Using RPM Packages", 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 file name 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/varsocket=/var/tmp/mysql.sockport=3306user=mysql[mysql.server]basedir=/usr/local/mysql
The mysql.server script supports 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 supports 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.
Table 2.14. MySQL Startup scripts and supported server option groups
Script | Option Groups |
---|---|
mysqld | [mysqld] , [server] , [mysqld- |
mysqld_safe | [mysqld] , [server] , [mysqld_safe] |
mysql.server | [mysqld] , [mysql.server] ,[server] |
[mysqld-
means that groups
with names like major_version
][mysqld-5.5]
and [mysqld-5.6]
are read
by servers having versions 5.5.x, 5.6.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.6.
For more information on MySQL configuration files and their structure and contents, see Section 4.2.3.3, "Using Option Files".