MySQL Cluster Manager 9.1 User Manual  /  Using MySQL Cluster Manager  /  Starting the MySQL Cluster Manager Client

4.3 Starting the MySQL Cluster Manager Client

This section covers starting the MySQL Cluster Manager client and connecting to the MySQL Cluster Manager agent.

MySQL Cluster Manager 9.1.0 includes a command-line client mcm, located in the installation bin directory. mcm can be invoked with any one of the options shown in the following table (see Connecting to the agent with the mcm client for detailed descriptions of some of the options):

Table 4.3 mcm options

Long form Short form Description
--help -? Display mcm client options
--host=<hostname> -h <hostname> Host to use when connecting to mcmd
--user=<username> -u <username> The user name for connecting to the agent
--password[=<password>] -p[<password>] The password for connecting to the agent
--port=<portnum> -P <portnum> Optional port to use when connecting to mcmd
--version -V Shows MySQL Cluster Manager agent/client version

The client/server protocol used by MySQL Cluster Manager is platform-independent. You can connect to any MySQL Cluster Manager agent with an mcm client on any platform where it is available. This means, for example, that you can use an mcm client on Microsoft Windows to connect to a MySQL Cluster Manager agent that is running on a Linux host.

You can also use the mysql client to run MySQL Cluster Manager client sessions on platforms where mcm itself (or even mcmd) is not available. For more information, see Connecting to the agent using the mysql client.

If you experience problems starting an MySQL Cluster Manager client session because the client fails to connect, see Can't connect to [local] MySQL server, for some reasons why this might occur, as well as suggestions for some possible solutions.

To end a client session, use the exit or quit command (short form: \q). Neither of these commands requires a separator or terminator character.

For more information, see Chapter 5, MySQL Cluster Manager Client Commands.

Connecting to the agent with the mcm client.  You can connect to the MySQL Cluster Manager agent by invoking mcm (or, on Windows, mcm.exe). You may also need to specify one or more of the following command-line options:

  • --host=hostname or -h[ ]hostname

    This option takes the name or IP address of the host to connect to. The default is localhost (which may not be recognized on all platforms when starting a mcm client session even if it works for starting mysql client sessions).

    You should keep in mind that the mcm client does not perform host name resolution; any name resolution information comes from the operating system on the host where the client is run. For this reason, it is usually best to use a numeric IP address rather than a hostname for this option.

  • --port=portnumber or -P[ ]portnumber

    This option specifies the TCP/IP port for the client to use. This must be the same port that is used by the MySQL Cluster Manager agent. As mentioned elsewhere, if no agent port is specified in the MySQL Cluster Manager agent configuration file (mcmd.ini), the default number of the port used by the MySQL Cluster Manager agent is 1862, which is also used by default by mcm.

  • --user=username or -u[ ]username

    The option specifies the user name for connecting to the agent. The default value of mcmd is used if the option is not specified. To connect successfully, the value of the option must match that specified by the mcmd configuration option mcmd-user of the agent you are connecting to, which is also mcmd by default.

  • --password[=password] or -p[password]

    The option specifies the password for connecting to the agent. The default value of super is used if the option is not specified. To connect successfully, the value of the option must match that specified by the mcmd configuration option mcmd_password of the agent you are connecting to, which is also super by default.

    If you use the short option form (-p), you must not leave a space between this option and the password. If you omit the password value following the --password or -p option on the command line, the mcm client prompts you for one.

    Specifying a password on the command line should be considered insecure. It is preferable that you either omit the password when invoking the client and then supply it when prompted, or put the password in a startup script or configuration file.

mcm accepts additional mysql client options, some of which may possibly be of use for MySQL Cluster Manager client sessions. For example, the --pager option might prove helpful when the output of get contains too many rows to fit in a single screen. The --prompt option can be used to provide a distinctive prompt to help avoid confusion between multiple client sessions. However, options not shown in the current manual have not been extensively tested with mcm and so cannot be guaranteed to work correctly (or even at all). See mysql Client Options, for a complete listing and descriptions of all mysql client options.

Note

Like the mysql client, mcm also supports \G as a statement terminator, which causes the output to be formatted vertically. This can be helpful when using a terminal whose width is restricted to some number of (typically 80) characters. See Chapter 5, MySQL Cluster Manager Client Commands, for examples.

Connecting to the agent using the mysql client.  A mysql client from any MySQL distribution should work without any issues for connecting to mcmd. In addition, since the client/server protocol used by MySQL Cluster Manager is platform-independent, you can use a mysql client on any platform supported by MySQL. (This means, for example, that you can use a mysql client on Microsoft Windows to connect to a MySQL Cluster Manager agent that is running on a Linux host.) Connecting to the MySQL Cluster Manager agent using the mysql client is accomplished by invoking mysql and specifying a hostname, port number, username and password using the following command-line options:

  • --host=hostname or -h hostname

    This option takes the name or IP address of the host to connect to. The default is localhost. Like the mcm client, the mysql client does not perform host name resolution, and relies on the host operating system for this task. For this reason, it is usually best to use a numeric IP address rather than a hostname for this option.

  • --port=portnumber or -P portnumber

    This option specifies the TCP/IP port for the client to use. This must be the same port that is used by the MySQL Cluster Manager agent. Although the default number of the port used by the MySQL Cluster Manager agent is 1862 (which is also used by default by mcm), this default value is not known to the mysql client, which uses port 3306 (the default port for the MySQL server) if this option is not specified when mysql is invoked.

    Thus, you must use the --port or -P option to connect to the MySQL Cluster Manager agent using the mysql client, even if the agent process is using the MySQL Cluster Manager default port, and even if the agent process is running on the same host as the mysql client. Unless the correct agent port number is supplied to it on startup, mysql is unable to connect to the agent.

  • --user=username or -u username

    The option specifies the user name for connecting to the agent. By default, the mysql client tries to use the name of the current system user on Unix systems and ODBC on Windows, so you must supply this option and the username when trying to access the MySQL Cluster Manager agent with the mysql client; otherwise, mysql cannot connect to the agent.

    To connect successfully, the value of the option must match that specified by the mcmd configuration option --mcmd-user of the agent you are connecting to, which is mcmd by default.

  • --password[=password] or -p[password]

    The option specifies the password for connecting to the agent. If you do not include the --password or -p option when invoking mysql, it cannot connect to the agent. To connect successfully, the value of the option must match that specified by the mcmd configuration option mcmd_password of the agent you are connecting to, which is super by default.

    If you use the short option form (-p), you must not leave a space between this option and the password. If you omit the password value following the --password or -p option on the command line, the mysql client prompts you for one.

    Specifying a password on the command line should be considered insecure. It is preferable that you either omit the password when invoking the client and then supply it when prompted, or put the password in a startup script or configuration file.

In addition, you can use the --prompt option to set the mysql client's prompt. This is recommended, since allowing the default prompt (mysql>) to be used could lead to confusion between a MySQL Cluster Manager client session and a MySQL client session.

Thus, you can connect to a MySQL Cluster Manager agent by invoking the mysql client on the same machine from the system shell in a manner similar to what is shown here.

$> mysql -h127.0.0.1 -P1862 -umcmd -p --prompt='mcm> '

For convenience, on systems where mcm itself is not available, you might even want to put this invocation in a startup script. On a Linux or similar system, this script might be named mcm-client.sh, with contents similar to what is shown here:

#!/bin/sh
/usr/local/mysql/bin/mysql -h127.0.0.1 -P1862 -umcmd -p --prompt='mcm> '

In this case, you could then start up a MySQL Cluster Manager client session using something like this in the system shell:

$> ./mcm-client

On Windows, you can create a batch file with a name such as mcm-client.bat containing something like this:

C:\mysql\bin\mysql.exe -umcmd -psuper -h localhost -P 1862 --prompt="mcm> "

(Adjust the path to the mysql.exe client executable as necessary to match its location on your system.)

If you save this file to a convenient location such as the Windows desktop, you can start a MySQL Cluster Manager client session merely by double-clicking the corresponding file icon on the desktop (or in Windows Explorer); the client session opens in a new cmd.exe (DOS) window.