Documentation
From my personal library, The Internet

man page:


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
          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.

          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

       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

       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

       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 1.5, "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 11, "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
       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 7.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).

       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 10.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 other than CREATE INSTANCE 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
          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 |
          +---------------+---------------------------------------------------+

          +-------------+------------------------------------+----------+
          | 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 the section called "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
       printed copy of this documentation solely for your own personal use.
       Conversion to other formats is allowed as long as the actual content is
       not altered or edited in any way. You shall not publish or distribute
       this documentation in any form or on any media, except if you
       distribute the documentation in a manner similar to how MySQL
       disseminates it (that is, electronically for download on a website with
       the software) or on a CD-ROM or similar medium, provided however that
       the documentation is disseminated together with the software on the
       same medium. Any other use, such as any dissemination of printed copies
       or use of this documentation, in whole or in part, in another
       publication, requires the prior written consent from an authorized
       representative of MySQL AB. MySQL AB reserves any and all rights to
       this documentation not expressly granted above.

       Please email <docs@mysql.com> for more information.


SEE ALSO

       msql2mysql(1), myisam_ftdump(1), myisamchk(1), myisamlog(1),
       myisampack(1), mysql(1), mysql.server(1), mysql_config(1),
       mysql_explain_log(1), mysql_fix_privilege_tables(1), mysql_upgrade(1),
       mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1),
       mysqlcheck(1), mysqld(1), mysqld(8), mysqld_multi(1), mysqld_safe(1),
       mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlmanager(1),
       mysqlshow(1), perror(1), replace(1), safe_mysqld(1)

       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/).  This software comes with no
       warranty.



MySQL 5.0                         10/20/2006                   MYSQLMANAGER(8)

Man(1) output converted with man2html