mysqlmanager(8) - phpMan

Command: man perldoc info search(apropos)  


MYSQLMANAGER(8)                       MySQL Database System                       MYSQLMANAGER(8)



NAME
       mysqlmanager - the MySQL Instance Manager

SYNOPSIS
       mysqlmanager [options]

DESCRIPTION
       mysqlmanager is the MySQL Instance Manager (IM). This program monitors and manages MySQL
       Database Server instances. MySQL Instance Manager is available for Unix-like operating
       systems, and also on Windows as of MySQL 5.0.13. It runs as a daemon that listens on a
       TCP/IP port. On Unix, it also listens on a Unix socket file.

       MySQL Instance Manager is included in MySQL distributions from version 5.0.3, and can be
       used in place of the mysqld_safe script to start and stop one or more instances of MySQL
       Server. Because Instance Manager can manage multiple server instances, it can also be used
       in place of the mysqld_multi script. Instance Manager offers these capabilities:

       o  Instance Manager can start and stop instances, and report on the status of instances.

       o  Server instances can be treated as guarded or unguarded:

          o  When Instance Manager starts, it starts each guarded instance. If the instance
             crashes, Instance Manager detects this and restarts it. When Instance Manager stops,
             it stops the instance.

          o  A nonguarded instance is not started when Instance Manager starts or monitored by
             it. If the instance crashes after being started, Instance Manager does not restart
             it. When Instance Manager exits, it does not stop the instance if it is running.

          Instances are guarded by default. An instance can be designated as nonguarded by
          including the nonguarded option in the configuration file.

       o  Instance Manager provides an interactive interface for configuring instances, so that
          the need to edit the configuration file manually is reduced or eliminated.

       o  Instance Manager provides remote instance management. That is, it runs on the host
          where you want to control MySQL Server instances, but you can connect to it from a
          remote host to perform instance-management operations.


       The following sections describe MySQL Instance Manager operation in more detail.

MYSQL INSTANCE MANAGER COMMAND OPTIONS
       The MySQL Instance Manager supports a number of command options. For a brief listing,
       invoke mysqlmanager with the --help option. Options may be given on the command line or in
       the Instance Manager configuration file. On Windows, the standard configuration file is
       my.ini in the directory where Instance Manager is installed. On Unix, the standard file is
       /etc/my.cnf. To specify a different configuration file, start Instance Manager with the
       --defaults-file option.

       mysqlmanager supports the following options:

       o  --help, -?

          Display a help message and exit.

       o  --angel-pid-file=file_name

          The file in which the angel process records its process ID when mysqlmanager runs in
          daemon mode (that is, when the --run-as-service option is given). The default filename
          is mysqlmanager.angel.pid.

          If the --angel-pid-file option is not given, the default angel PID file has the same
          name as the PID file except that any PID file extension is replaced with an extension
          of .angel.pid. (For example, mysqlmanager.pid becomes mysqlmanager.angel.pid.)

          This option was added in MySQL 5.0.23.

       o  --bind-address=IP

          The IP address to bind to.

       o  --default-mysqld-path=path

          The pathname of the MySQL Server binary. This pathname is used for all server instance
          sections in the configuration file for which no mysqld-path option is present. The
          default value of this option is the compiled-in pathname, which depends on how the
          MySQL distribution was configured. Example: --default-mysqld-path=/usr/sbin/mysqld

       o  --defaults-file=file_name

          Read Instance Manager and MySQL Server settings from the given file. All configuration
          changes made by the Instance Manager will be written to this file. This must be the
          first option on the command line if it is used, and the file must exist.

          If this option is not given, Instance Manager uses its standard configuration file. On
          Windows, the standard file is my.ini in the directory where Instance Manager is
          installed. On Unix, the standard file is /etc/my.cnf.

       o  --install

          On Windows, install Instance Manager as a Windows service. The service name is MySQL
          Manager. This option was added in MySQL 5.0.11.

       o  --log=file_name

          The path to the Instance Manager log file. This option has no effect unless the
          --run-as-service option is also given. If the filename specified for the option is a
          relative name, the log file is created under the directory from which Instance Manager
          is started. To ensure that the file is created in a specific directory, specify it as a
          full pathname.

          If --run-as-service is given without --log, the log file is mysqlmanager.log in the
          data directory.

          If --run-as-service is not given, log messages go to the standard output. To capture
          log output, you can redirect Instance Manager output to a file:

          mysqlmanager > im.log

       o  --monitoring-interval=seconds

          The interval in seconds for monitoring server instances. The default value is 20
          seconds. Instance Manager tries to connect to each monitored (guarded) instance using
          the non-existing MySQL_Instance_Manager user account to check whether it is alive/not
          hanging. If the result of the connection attempt indicates that the instance is
          unavailable, Instance Manager performs several attempts to restart the instance.

          Normally, the MySQL_Instance_Manager account does not exist, so the connection attempts
          by Instance Manager cause the monitored instance to produce messages in its general
          query log similar to the following:

          Access denied for user 'MySQL_Instance_M'@'localhost' (using password: YES)


       The nonguarded option in the appropriate server instance section disables monitoring for a
       particular instance. If the instance dies after being started, Instance Manager will not
       restart it. Instance Manager tries to connect to a nonguarded instance only when you
       request the instance's status (for example, with the SHOW INSTANCES status.

       See the section called "MYSQL SERVER INSTANCE STATUS MONITORING", for more information.

       o  --passwd, -P

          Prepare an entry for the password file, print it to the standard output, and exit. You
          can redirect the output from Instance Manager to a file to save the entry in the file.

       o  --password-file=file_name

          The name of the file where the Instance Manager looks for users and passwords. On
          Windows, the default is mysqlmanager.passwd in the directory where Instance Manager is
          installed. On Unix, the default file is /etc/mysqlmanager.passwd.

       o  --pid-file=file_name

          The process ID file to use. On Windows, the default file is mysqlmanager.pid in the
          directory where Instance Manager is installed. On Unix, the default is mysqlmanager.pid
          in the data directory.

       o  --port=port_num

          The port number to use when listening for TCP/IP connections from clients. The default
          port number (assigned by IANA) is 2273.

       o  --print-defaults

          Print the current defaults and exit. This must be the first option on the command line
          if it is used.

       o  --remove

          On Windows, removes Instance Manager as a Windows service. This assumes that Instance
          Manager has been run with --install previously. This option was added in MySQL 5.0.11.

       o  --run-as-service

          On Unix, daemonize and start an angel process. The angel process monitors Instance
          Manager and restarts it if it crashes. (The angel process itself is simple and unlikely
          to crash.)

       o  --socket=path

          On Unix, the socket file to use for incoming connections. The default file is named
          /tmp/mysqlmanager.sock. This option has no meaning on Windows.

       o  --standalone

          This option is used on Windows to run Instance Manager in standalone mode. You should
          specify it when you start Instance Manager from the command line. This option was added
          in MySQL 5.0.13.

       o  --user=user_name

          On Unix, the username of the system account to use for starting and running
          mysqlmanager. This option generates a warning and has no effect unless you start
          mysqlmanager as root (so that it can change its effective user ID), or as the named
          user. It is recommended that you configure mysqlmanager to run using the same account
          used to run the mysqld server. ("User" in this context refers to a system login
          account, not a MySQL user listed in the grant tables.)

       o  --version, -V

          Display version information and exit.

       o  --wait-timeout=N

          The number of seconds to wait for activity on an incoming connection before closing it.
          The default is 28800 seconds (8 hours).

          This option was added in MySQL 5.0.19. Before that, the timeout is 30 seconds and
          cannot be changed.

MYSQL INSTANCE MANAGER CONFIGURATION FILES
       Instance Manager uses its standard configuration file unless it is started with a
       --defaults-file option that specifies a different file. On Windows, the standard file is
       my.ini in the directory where Instance Manager is installed. On Unix, the standard file is
       /etc/my.cnf. (Prior to MySQL 5.0.10, the MySQL Instance Manager read the same
       configuration files as the MySQL Server, including /etc/my.cnf, ~/.my.cnf, and so forth.)

       Instance Manager reads options for itself from the [manager] section of the configuration
       file, and options for server instances from [mysqld] or [mysqldN] sections. The [manager]
       section contains any of the options listed in the section called "MYSQL INSTANCE MANAGER
       COMMAND OPTIONS", except for those specified as having to be given as the first option on
       the command line. Here is a sample [manager] section:

          # MySQL Instance Manager options section
          [manager]
          default-mysqld-path = /usr/local/mysql/libexec/mysqld
          socket=/tmp/manager.sock
          pid-file=/tmp/manager.pid
          password-file = /home/cps/.mysqlmanager.passwd
          monitoring-interval = 2
          port = 1999
          bind-address = 192.168.1.5

       Each [mysqld] or [mysqldN] instance section specifies options given by Instance Manager to
       a server instance at startup. These are mainly common MySQL Server options (see
       Section 1.2, "Command Options"). In addition, a [mysqldN] section can contain the options
       in the following list, which are specific to Instance Manager. These options are
       interpreted by Instance Manager itself; it does not pass them to the server when it
       attempts to start that server.

       Warning
       The Instance Manager-specific options must not be used in a [mysqld] section. If a server
       is started without using Instance Manager, it will not recognize these options and will
       fail to start properly.

       o  mysqld-path = path

          The pathname of the mysqld server binary to use for the server instance.

       o  nonguarded

          This option disables Instance Manager monitoring functionality for the server instance.
          By default, an instance is guarded: At Instance Manager start time, it starts the
          instance. It also monitors the instance status and attempts to restart it if it fails.
          At Instance Manager exit time, it stops the instance. None of these things happen for
          nonguarded instances.

       o  shutdown-delay = seconds

          The number of seconds Instance Manager should wait for the server instance to shut
          down. The default value is 35 seconds. After the delay expires, Instance Manager
          assumes that the instance is hanging and attempts to terminate it. If you use InnoDB
          with large tables, you should increase this value.


       Here are some sample instance sections:

          [mysqld1]
          mysqld-path=/usr/local/mysql/libexec/mysqld
          socket=/tmp/mysql.sock
          port=3307
          server_id=1
          skip-stack-trace
          core-file
          skip-bdb
          log-bin
          log-error
          log=mylog
          log-slow-queries
          [mysqld2]
          nonguarded
          port=3308
          server_id=2
          mysqld-path= /home/cps/mysql/trees/mysql-5.0/sql/mysqld
          socket     = /tmp/mysql.sock5
          pid-file   = /tmp/hostname.pid5
          datadir= /home/cps/mysql_data/data_dir1
          language=/home/cps/mysql/trees/mysql-5.0/sql/share/english
          log-bin
          log=/tmp/fordel.log

STARTING THE MYSQL SERVER WITH MYSQL INSTANCE MANAGER
       This section discusses how Instance Manager starts server instances when it starts.
       However, before you start Instance Manager, you should set up a password file for it.
       Otherwise, you will not be able to connect to Instance Manager to control it after it
       starts. For details about creating Instance Manager accounts, see the section called
       "INSTANCE MANAGER USER AND PASSWORD MANAGEMENT".

       On Unix, the mysqld MySQL database server normally is started with the mysql.server
       script, which usually resides in the /etc/init.d/ directory. In MySQL 5.0.3, this script
       invokes mysqlmanager (the MySQL Instance Manager binary) to start MySQL. (In prior
       versions of MySQL the mysqld_safe script is used for this purpose.) Starting from MySQL
       5.0.4, the behavior of the startup script was changed again to incorporate both setup
       schemes. In version 5.0.4, the startup script uses the old scheme (invoking mysqld_safe)
       by default, but one can set the use_mysqld_safe variable in the script to 0 (zero) to use
       the MySQL Instance Manager to start a server.

       Starting with MySQL 5.0.19, you can use Instance Manager if you modify the my.cnf
       configuration file by adding use-manager to the [mysql.server] section:

          [mysql.server]
          use-manager

       When Instance Manager starts, it reads its configuration file if it exists to find server
       instance sections and prepare a list of instances. Instance sections have names of the
       form [mysqld] or [mysqldN], where N is an unsigned integer (for example, [mysqld1],
       [mysqld2], and so forth).

       After preparing the list of instances, Instance Manager starts the guarded instances in
       the list. If there are no instances, Instance Manager creates an instance named mysqld and
       attempts to start it with default (compiled-in) configuration values. This means that the
       Instance Manager cannot find the mysqld program if it is not installed in the default
       location. (Section 4.6, "Installation Layouts", describes default locations for components
       of MySQL distributions.) If you have installed the MySQL server in a non-standard
       location, you should create the Instance Manager configuration file.

       Instance Manager also stops all guarded server instances when it shuts down.

       The allowable options for [mysqldN] server instance sections are described in the section
       called "MYSQL INSTANCE MANAGER CONFIGURATION FILES". In these sections, you can use a
       special mysqld-path=path-to-mysqld-binary option that is recognized only by Instance
       Manager. Use this option to let Instance Manager know where the mysqld binary resides. If
       there are multiple instances, it may also be necessary to set other options such as
       datadir and port, to ensure that each instance has a different data directory and TCP/IP
       port number.  Section 7, "Running Multiple MySQL Servers on the Same Machine", discusses
       the configuration values that must differ for each instance when you run multiple instance
       on the same machine.

       Warning
       The [mysqld] instance section, if it exists, must not contain any Instance
       Manager-specific options.

       The typical Unix startup/shutdown cycle for a MySQL server with the MySQL Instance Manager
       enabled is as follows:

       1. The /etc/init.d/mysql script starts MySQL Instance Manager.

       2. Instance Manager starts the guarded server instances and monitors them.

       3. If a server instance fails, Instance Manager restarts it.

       4. If Instance Manager is shut down (for example, with the /etc/init.d/mysql stop
          command), it shuts down all server instances.

INSTANCE MANAGER USER AND PASSWORD MANAGEMENT
       The Instance Manager stores its user information in a password file. On Windows, the
       default is mysqlmanager.passwd in the directory where Instance Manager is installed. On
       Unix, the default file is /etc/mysqlmanager.passwd. To specify a different location for
       the password file, use the --password-file option.

       If the password file does not exist or contains no password entries, you cannot connect to
       the Instance Manager.

       Note
       Any Instance Manager process that is running to monitor server instances does not notice
       changes to the password file. You must stop it and restart it after making password entry
       changes.

       Entries in the password file have the following format, where the two fields are the
       account username and encrypted password, separated by a colon:

          petr:*35110DC9B4D8140F5DE667E28C72DD2597B5C848

       Instance Manager password encryption is the same as that used by MySQL Server. It is a
       one-way operation; no means are provided for decrypting encrypted passwords.

       Instance Manager accounts differ somewhat from MySQL Server accounts:

       o  MySQL Server accounts are associated with a hostname, username, and password (see
          Section 5.1, "MySQL Usernames and Passwords").

       o  Instance Manager accounts are associated with a username and password only.


       This means that a client can connect to Instance Manager with a given username from any
       host. To limit connections so that clients can connect only from the local host, start
       Instance Manager with the --bind-address=127.0.0.1 option so that it listens only to the
       local network interface. Remote clients will not be able to connect. Local clients can
       connect like this:

          shell> mysql -h 127.0.0.1 -P 2273

       To generate a new entry, invoke Instance Manager with the --passwd option and append the
       output to the /etc/mysqlmanager.passwd file. Here is an example:

          shell> mysqlmanager --passwd >> /etc/mysqlmanager.passwd
          Creating record for new user.
          Enter user name: mike
          Enter password: mikepass
          Re-type password: mikepass

       At the prompts, enter the username and password for the new Instance Manager user. You
       must enter the password twice. It does not echo to the screen, so double entry guards
       against entering a different password than you intend (if the two passwords do not match,
       no entry is generated).

       The preceding command causes the following line to be added to /etc/mysqlmanager.passwd:

          mike:*BBF1F551DD9DD96A01E66EC7DDC073911BAD17BA

MYSQL SERVER INSTANCE STATUS MONITORING
       To monitor the status of each guarded server instance, the MySQL Instance Manager attempts
       to connect to the instance at regular intervals using the MySQL_Instance_Manager@localhost
       user account with a password of check_connection.

       You are not required to create this account for MySQL Server; in fact, it is expected that
       it will not exist. Instance Manager can tell that a server is operational if the server
       accepts the connection attempt but refuses access for the account by returning a login
       error. However, these failed connection attempts are logged by the server to its general
       query log (see Section 2.2, "The General Query Log").

       Instance Manager also attempts a connection to nonguarded server instances when you use
       the SHOW INSTANCES or SHOW INSTANCE STATUS command. This is the only status monitoring
       done for nonguarded instances.

       Instance Manager knows if a server instance fails at startup because it receives a status
       from the attempt. For an instance that starts but later crashes, Instance Manager receives
       a signal because it is the parent process of the instance.

CONNECTING TO MYSQL INSTANCE MANAGER
       After you set up a password file for the MySQL Instance Manager and Instance Manager is
       running, you can connect to it. The MySQL client-server protocol is used to communicate
       with the Instance Manager. For example, you can connect to it using the standard mysql
       client program:

          shell> mysql --port=2273 --host=im.example.org --user=mysql --password

       Instance Manager supports the version of the MySQL client-server protocol used by the
       client tools and libraries distributed with MySQL 4.1 or later, so other programs that use
       the MySQL C API also can connect to it.

MYSQL INSTANCE MANAGER COMMANDS
       After you connect to MySQL Instance Manager, you can issue commands. The following general
       principles apply to Instance Manager command execution:

       o  Commands that take an instance name fail if the name is not a valid instance name.

       o  Commands that take an instance name fail if the instance does not exist.

       o  Instance Manager maintains information about instance configuration in an internal
          (in-memory) cache. Initially, this information comes from the configuration file if it
          exists, but some commands change the configuration of an instance. Commands that modify
          the configuration file fail if the file does not exist or is not accessible to Instance
          Manager.

       o  On Windows, the standard file is my.ini in the directory where Instance Manager is
          installed. On Unix, the standard configuration file is /etc/my.cnf. To specify a
          different configuration file, start Instance Manager with the --defaults-file option.

       o  If a [mysqld] instance section exists in the configuration file, it must not contain
          any Instance Manager-specific options (see the section called "MYSQL INSTANCE MANAGER
          CONFIGURATION FILES"). Therefore, you must not add any of these options if you change
          the configuration for an instance named mysqld.


       The following list describes the commands that Instance Manager accepts, with examples.

       o  START INSTANCE instance_name

          This command attempts to start an offline instance. The command is asynchronous; it
          does not wait for the instance to start.

          mysql> START INSTANCE mysqld4;
          Query OK, 0 rows affected (0,00 sec)

       o  STOP INSTANCE instance_name

          This command attempts to stop an instance. The command is synchronous; it waits for the
          instance to stop.

          mysql> STOP INSTANCE mysqld4;
          Query OK, 0 rows affected (0,00 sec)

       o  SHOW INSTANCES

          Shows the names and status of all loaded instances.

          mysql> SHOW INSTANCES;
          +---------------+---------+
          | instance_name | status  |
          +---------------+---------+
          | mysqld3       | offline |
          | mysqld4       | online  |
          | mysqld2       | offline |
          +---------------+---------+

       o  SHOW INSTANCE STATUS instance_name

          Shows status and version information for an instance.

          mysql> SHOW INSTANCE STATUS mysqld3;
          +---------------+--------+---------+
          | instance_name | status | version |
          +---------------+--------+---------+
          | mysqld3       | online | unknown |
          +---------------+--------+---------+

       o  SHOW INSTANCE OPTIONS instance_name

          Shows the options used by an instance.

          mysql> SHOW INSTANCE OPTIONS mysqld3;
          +---------------+---------------------------------------------------+
          | option_name   | value                                             |
          +---------------+---------------------------------------------------+
          | instance_name | mysqld3                                           |
          | mysqld-path   | /home/cps/mysql/trees/mysql-4.1/sql/mysqld        |
          | port          | 3309                                              |
          | socket        | /tmp/mysql.sock3                                  |
          | pid-file      | hostname.pid3                                     |
          | datadir       | /home/cps/mysql_data/data_dir1/                   |
          | language      | /home/cps/mysql/trees/mysql-4.1/sql/share/english |
          +---------------+---------------------------------------------------+

       o  SHOW instance_name LOG FILES

          The command lists all log files used by the instance. The result set contains the path
          to the log file and the log file size. If no log file path is specified in the instance
          section of the configuration file (for example, log=/var/mysql.log), the Instance
          Manager tries to guess its placement. If Instance Manager is unable to guess the log
          file placement you should specify the log file location explicitly by using a log
          option in the appropriate instance section of the configuration file.

          mysql> SHOW mysqld LOG FILES;
          +-------------+------------------------------------+----------+
          | Logfile     | Path                               | Filesize |
          +-------------+------------------------------------+----------+
          | ERROR LOG   | /home/cps/var/mysql/owlet.err      | 9186     |
          | GENERAL LOG | /home/cps/var/mysql/owlet.log      | 471503   |
          | SLOW LOG    | /home/cps/var/mysql/owlet-slow.log | 4463     |
          +-------------+------------------------------------+----------+
       Log options are described in Section 1.2, "Command Options".

       o  SHOW instance_name LOG {ERROR | SLOW | GENERAL} size[,offset_from_end]

          This command retrieves a portion of the specified log file. Because most users are
          interested in the latest log messages, the size parameter defines the number of bytes
          to retrieve from the end of the log. To retrieve data from the middle of the log file,
          specify the optional offset_from_end parameter. The following example retrieves 21
          bytes of data, starting 23 bytes before the end of the log file and ending 2 bytes
          before the end:

          mysql> SHOW mysqld LOG GENERAL 21, 2;
          +---------------------+
          | Log                 |
          +---------------------+
          | using password: YES |
          +---------------------+

       o  SET instance_name.option_name[=option_value]

          This command edits the specified instance's configuration section to change or add
          instance options. The option is added to the section is it is not already present.
          Otherwise, the new setting replaces the existing one.

          mysql> SET mysqld2.port=3322;
          Query OK, 0 rows affected (0.00 sec)
       Changes made to the configuration file do not take effect until the MySQL server is
       restarted. In addition, these changes are not stored in the instance manager's local cache
       of instance settings until a FLUSH INSTANCES command is executed.

       o  UNSET instance_name.option_name

          This command removes an option from an instance's configuration section.

          mysql> UNSET mysqld2.port;
          Query OK, 0 rows affected (0.00 sec)
       Changes made to the configuration file do not take effect until the MySQL server is
       restarted. In addition, these changes are not stored in the instance manager's local cache
       of instance settings until a FLUSH INSTANCES command is executed.

       o  FLUSH INSTANCES

          This command forces Instance Manager reread the configuration file and to refresh
          internal structures. This command should be performed after editing the configuration
          file. The command does not restart instances.

          mysql> FLUSH INSTANCES;
          Query OK, 0 rows affected (0.04 sec)
       FLUSH INSTANCES is deprecated and will be removed in MySQL 5.2.

COPYRIGHT
       Copyright 2007-2008 MySQL AB

       This documentation is free software; you can redistribute it and/or modify it under the
       terms of the GNU General Public License as published by the Free Software Foundation;
       version 2 of the License.

       This documentation is distributed in the hope that it will be useful, but WITHOUT ANY
       WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE. See the GNU General Public License for more details.

       You should have received a copy of the GNU General Public License along with the program;
       if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
       Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.

SEE ALSO
       For more information, please refer to the MySQL Reference Manual, which may already be
       installed locally and which is also available online at http://dev.mysql.com/doc/.

AUTHOR
       MySQL AB (http://www.mysql.com/).



MySQL 5.0                                   01/11/2008                            MYSQLMANAGER(8)

Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-26 03:00 @38.107.179.238 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!