DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) Automatic start

Info Catalog (mysql.info.gz) mysql_install_db (mysql.info.gz) Unix post-installation (mysql.info.gz) 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 systems based on BSD Unix.   `mysqld_safe'
      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'.   `mysql.server' 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 `mysql.server' and `mysqld_safe' 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'll 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' brings down 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 will have been 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]'
 `mysql.server' `[mysqld]', `[mysql.server]'
 `mysqld_safe'  `[mysqld]', `[server]', `[mysqld_safe]'
 
 `[mysqld-major-version]' means that groups with names like
 `[mysqld-4.0]', `[mysqld-4.1]', and `[mysqld-5.0]' will be read by
 servers having versions 4.0.x, 4.1.x, 5.0.x, and so forth.  This
 feature was added in MySQL 4.0.14. It can be used to specify options
 that will 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 you begin
 using MySQL 4.0 or later.
 
  Option files.
 
Info Catalog (mysql.info.gz) mysql_install_db (mysql.info.gz) Unix post-installation (mysql.info.gz) Starting server
automatically generated byinfo2html