1210 lines
34 KiB
Markdown
1210 lines
34 KiB
Markdown
# MaxCtrl
|
|
|
|
MaxCtrl is a command line administrative client for MaxScale which uses
|
|
the MaxScale REST API for communication. It is intended to be the
|
|
replacement software for the legacy MaxAdmin command line client.
|
|
|
|
By default, the MaxScale REST API listens on port 8989 on the local host. The
|
|
default credentials for the REST API are `admin:mariadb`. The users used by the
|
|
REST API are the same that are used by the MaxAdmin network interface. This
|
|
means that any users created for the MaxAdmin network interface should work with
|
|
the MaxScale REST API and MaxCtrl.
|
|
|
|
For more information about the MaxScale REST API, refer to the
|
|
[REST API documentation](../REST-API/API.md) and the
|
|
[Configuration Guide](../Getting-Started/Configuration-Guide.md).
|
|
|
|
# Commands
|
|
|
|
* [list](#list)
|
|
* [show](#show)
|
|
* [set](#set)
|
|
* [clear](#clear)
|
|
* [drain](#drain)
|
|
* [enable](#enable)
|
|
* [disable](#disable)
|
|
* [create](#create)
|
|
* [destroy](#destroy)
|
|
* [link](#link)
|
|
* [unlink](#unlink)
|
|
* [start](#start)
|
|
* [stop](#stop)
|
|
* [alter](#alter)
|
|
* [rotate](#rotate)
|
|
* [reload](#reload)
|
|
* [call](#call)
|
|
* [cluster](#cluster)
|
|
* [api](#api)
|
|
* [classify](#classify)
|
|
|
|
## Options
|
|
|
|
All command accept the following global options.
|
|
|
|
```
|
|
-u, --user Username to use [string] [default: "admin"]
|
|
-p, --password Password for the user. To input the password manually, give -p
|
|
as the last argument or use --password=''
|
|
[string] [default: "mariadb"]
|
|
-h, --hosts List of MaxScale hosts. The hosts must be in HOST:PORT format
|
|
and each value must be separated by a comma.
|
|
[string] [default: "localhost:8989"]
|
|
-t, --timeout Request timeout in milliseconds [number] [default: 10000]
|
|
-q, --quiet Silence all output. Ignored while in interactive mode.
|
|
[boolean] [default: false]
|
|
--tsv Print tab separated output [boolean] [default: false]
|
|
|
|
HTTPS/TLS Options:
|
|
-s, --secure Enable HTTPS requests [boolean] [default: false]
|
|
--tls-key Path to TLS private key [string]
|
|
--tls-passphrase Password for the TLS private key [string]
|
|
--tls-cert Path to TLS public certificate [string]
|
|
--tls-ca-cert Path to TLS CA certificate [string]
|
|
-n, --tls-verify-server-cert Whether to verify server TLS certificates
|
|
[boolean] [default: true]
|
|
|
|
Options:
|
|
--version Show version number [boolean]
|
|
--help Show help [boolean]
|
|
|
|
If no commands are given, maxctrl is started in interactive mode. Use `exit` to
|
|
exit the interactive mode.
|
|
```
|
|
|
|
## list
|
|
|
|
```
|
|
Usage: list <command>
|
|
|
|
Commands:
|
|
servers List servers
|
|
services List services
|
|
listeners <service> List listeners of a service
|
|
monitors List monitors
|
|
sessions List sessions
|
|
filters List filters
|
|
modules List loaded modules
|
|
threads List threads
|
|
users List created users
|
|
commands List module commands
|
|
|
|
```
|
|
|
|
### list servers
|
|
|
|
`Usage: list servers`
|
|
|
|
List all servers in MaxScale.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Server | Server name
|
|
Address | Address where the server listens
|
|
Port | The port on which the server listens
|
|
Connections | Current connection count
|
|
State | Server state
|
|
GTID | Current value of @@gtid_current_pos
|
|
|
|
### list services
|
|
|
|
`Usage: list services`
|
|
|
|
List all services and the servers they use.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Service | Service name
|
|
Router | Router used by the service
|
|
Connections | Current connection count
|
|
Total Connections | Total connection count
|
|
Servers | Servers that the service uses
|
|
|
|
### list listeners
|
|
|
|
`Usage: list listeners <service>`
|
|
|
|
List listeners for a service.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Name | Listener name
|
|
Port | The port where the listener listens
|
|
Host | The address or socket where the listener listens
|
|
State | Listener state
|
|
|
|
### list monitors
|
|
|
|
`Usage: list monitors`
|
|
|
|
List all monitors in MaxScale.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Monitor | Monitor name
|
|
State | Monitor state
|
|
Servers | The servers that this monitor monitors
|
|
|
|
### list sessions
|
|
|
|
`Usage: list sessions`
|
|
|
|
List all client sessions.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Session ID
|
|
User | Username
|
|
Host | Client host address
|
|
Connected | Time when the session started
|
|
Idle | How long the session has been idle, in seconds
|
|
Service | The service where the session connected
|
|
|
|
### list filters
|
|
|
|
`Usage: list filters`
|
|
|
|
List all filters in MaxScale.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Filter | Filter name
|
|
Service | Services that use the filter
|
|
Module | The module that the filter uses
|
|
|
|
### list modules
|
|
|
|
`Usage: list modules`
|
|
|
|
List all currently loaded modules.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Module | Module name
|
|
Type | Module type
|
|
Version | Module version
|
|
|
|
### list threads
|
|
|
|
`Usage: list threads`
|
|
|
|
List all worker threads.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Thread ID
|
|
Current FDs | Current number of managed file descriptors
|
|
Total FDs | Total number of managed file descriptors
|
|
Load (1s) | Load percentage over the last second
|
|
Load (1m) | Load percentage over the last minute
|
|
Load (1h) | Load percentage over the last hour
|
|
|
|
### list users
|
|
|
|
`Usage: list users`
|
|
|
|
List network the users that can be used to connect to the MaxScale REST API as
|
|
well as enabled local accounts.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Name | User name
|
|
Type | User type
|
|
Privileges | User privileges
|
|
|
|
### list commands
|
|
|
|
`Usage: list commands`
|
|
|
|
List all available module commands.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Module | Module name
|
|
Commands | Available commands
|
|
|
|
## show
|
|
|
|
```
|
|
Usage: show <command>
|
|
|
|
Commands:
|
|
server <server> Show server
|
|
servers Show all servers
|
|
service <service> Show service
|
|
services Show all services
|
|
monitor <monitor> Show monitor
|
|
monitors Show all monitors
|
|
session <session> Show session
|
|
sessions Show all sessions
|
|
filter <filter> Show filter
|
|
filters Show all filters
|
|
module <module> Show loaded module
|
|
modules Show all loaded modules
|
|
maxscale Show MaxScale information
|
|
thread <thread> Show thread
|
|
threads Show all threads
|
|
logging Show MaxScale logging information
|
|
commands <module> Show module commands of a module
|
|
qc_cache Show query classifier cache
|
|
dbusers <service> Show database users of the service
|
|
|
|
```
|
|
|
|
### show server
|
|
|
|
`Usage: show server <server>`
|
|
|
|
Show detailed information about a server. The `Parameters` field contains the currently configured parameters for this server. See `help alter server` for more details about altering server parameters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Server | Server name
|
|
Address | Address where the server listens
|
|
Port | The port on which the server listens
|
|
State | Server state
|
|
Version | Server version
|
|
Last Event | The type of the latest event
|
|
Triggered At | Time when the latest event was triggered at
|
|
Services | Services that use this server
|
|
Monitors | Monitors that monitor this server
|
|
Master ID | The server ID of the master
|
|
Node ID | The node ID of this server
|
|
Slave Server IDs | List of slave server IDs
|
|
Statistics | Server statistics
|
|
Parameters | Server parameters
|
|
|
|
### show servers
|
|
|
|
`Usage: show servers`
|
|
|
|
Show detailed information about all servers.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Server | Server name
|
|
Address | Address where the server listens
|
|
Port | The port on which the server listens
|
|
State | Server state
|
|
Version | Server version
|
|
Last Event | The type of the latest event
|
|
Triggered At | Time when the latest event was triggered at
|
|
Services | Services that use this server
|
|
Monitors | Monitors that monitor this server
|
|
Master ID | The server ID of the master
|
|
Node ID | The node ID of this server
|
|
Slave Server IDs | List of slave server IDs
|
|
Statistics | Server statistics
|
|
Parameters | Server parameters
|
|
|
|
### show service
|
|
|
|
`Usage: show service <service>`
|
|
|
|
Show detailed information about a service. The `Parameters` field contains the currently configured parameters for this service. See `help alter service` for more details about altering service parameters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Service | Service name
|
|
Router | Router that the service uses
|
|
State | Service state
|
|
Started At | When the service was started
|
|
Current Connections | Current connection count
|
|
Total Connections | Total connection count
|
|
Servers | Servers that the service uses
|
|
Filters | Filters that the service uses
|
|
Parameters | Service parameter
|
|
Router Diagnostics | Diagnostics provided by the router module
|
|
|
|
### show services
|
|
|
|
`Usage: show services`
|
|
|
|
Show detailed information about all services.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Service | Service name
|
|
Router | Router that the service uses
|
|
State | Service state
|
|
Started At | When the service was started
|
|
Current Connections | Current connection count
|
|
Total Connections | Total connection count
|
|
Servers | Servers that the service uses
|
|
Filters | Filters that the service uses
|
|
Parameters | Service parameter
|
|
Router Diagnostics | Diagnostics provided by the router module
|
|
|
|
### show monitor
|
|
|
|
`Usage: show monitor <monitor>`
|
|
|
|
Show detailed information about a monitor. The `Parameters` field contains the currently configured parameters for this monitor. See `help alter monitor` for more details about altering monitor parameters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Monitor | Monitor name
|
|
State | Monitor state
|
|
Servers | The servers that this monitor monitors
|
|
Parameters | Monitor parameters
|
|
Monitor Diagnostics | Diagnostics provided by the monitor module
|
|
|
|
### show monitors
|
|
|
|
`Usage: show monitors`
|
|
|
|
Show detailed information about all monitors.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Monitor | Monitor name
|
|
State | Monitor state
|
|
Servers | The servers that this monitor monitors
|
|
Parameters | Monitor parameters
|
|
Monitor Diagnostics | Diagnostics provided by the monitor module
|
|
|
|
### show session
|
|
|
|
`Usage: show session <session>`
|
|
|
|
Show detailed information about a single session. The list of sessions can be retrieved with the `list sessions` command. The <session> is the session ID of a particular session.
|
|
|
|
The `Connections` field lists the servers to which the session is connected and the `Connection IDs` field lists the IDs for those connections.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Session ID
|
|
Service | The service where the session connected
|
|
State | Session state
|
|
User | Username
|
|
Host | Client host address
|
|
Connected | Time when the session started
|
|
Idle | How long the session has been idle, in seconds
|
|
Connections | Ordered list of backend connections
|
|
Connection IDs | Thread IDs for the backend connections
|
|
Queries | Query history
|
|
Log | Per-session log messages
|
|
|
|
### show sessions
|
|
|
|
`Usage: show sessions`
|
|
|
|
Show detailed information about all sessions. See `help show session` for more details.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Session ID
|
|
Service | The service where the session connected
|
|
State | Session state
|
|
User | Username
|
|
Host | Client host address
|
|
Connected | Time when the session started
|
|
Idle | How long the session has been idle, in seconds
|
|
Connections | Ordered list of backend connections
|
|
Connection IDs | Thread IDs for the backend connections
|
|
Queries | Query history
|
|
Log | Per-session log messages
|
|
|
|
### show filter
|
|
|
|
`Usage: show filter <filter>`
|
|
|
|
The list of services that use this filter is show in the `Services` field.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Filter | Filter name
|
|
Module | The module that the filter uses
|
|
Services | Services that use the filter
|
|
Parameters | Filter parameters
|
|
|
|
### show filters
|
|
|
|
`Usage: show filters`
|
|
|
|
Show detailed information of all filters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Filter | Filter name
|
|
Module | The module that the filter uses
|
|
Services | Services that use the filter
|
|
Parameters | Filter parameters
|
|
|
|
### show module
|
|
|
|
`Usage: show module <module>`
|
|
|
|
This command shows all available parameters as well as detailed version information of a loaded module.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Module | Module name
|
|
Type | Module type
|
|
Version | Module version
|
|
Maturity | Module maturity
|
|
Description | Short description about the module
|
|
Parameters | All the parameters that the module accepts
|
|
Commands | Commands that the module provides
|
|
|
|
### show modules
|
|
|
|
`Usage: show modules`
|
|
|
|
Displays detailed information about all modules.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Module | Module name
|
|
Type | Module type
|
|
Version | Module version
|
|
Maturity | Module maturity
|
|
Description | Short description about the module
|
|
Parameters | All the parameters that the module accepts
|
|
Commands | Commands that the module provides
|
|
|
|
### show maxscale
|
|
|
|
`Usage: show maxscale`
|
|
|
|
See `help alter maxscale` for more details about altering MaxScale parameters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Version | MaxScale version
|
|
Commit | MaxScale commit ID
|
|
Started At | Time when MaxScale was started
|
|
Activated At | Time when MaxScale left passive mode
|
|
Uptime | Time MaxScale has been running
|
|
Parameters | Global MaxScale parameters
|
|
|
|
### show thread
|
|
|
|
`Usage: show thread <thread>`
|
|
|
|
Show detailed information about a worker thread.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Thread ID
|
|
Accepts | Number of TCP accepts done by this thread
|
|
Reads | Number of EPOLLIN events
|
|
Writes | Number of EPOLLOUT events
|
|
Hangups | Number of EPOLLHUP and EPOLLRDUP events
|
|
Errors | Number of EPOLLERR events
|
|
Avg event queue length | Average number of events returned by one epoll_wait call
|
|
Max event queue length | Maximum number of events returned by one epoll_wait call
|
|
Max exec time | The longest time spent processing events returned by a epoll_wait call
|
|
Max queue time | The longest time an event had to wait before it was processed
|
|
Current FDs | Current number of managed file descriptors
|
|
Total FDs | Total number of managed file descriptors
|
|
Load (1s) | Load percentage over the last second
|
|
Load (1m) | Load percentage over the last minute
|
|
Load (1h) | Load percentage over the last hour
|
|
QC cache size | Query classifier size
|
|
QC cache inserts | Number of times a new query was added into the query classification cache
|
|
QC cache hits | How many times a query classification was found in the query classification cache
|
|
QC cache misses | How many times a query classification was not found in the query classification cache
|
|
QC cache evictions | How many times a query classification result was evicted from the query classification cache
|
|
|
|
### show threads
|
|
|
|
`Usage: show threads`
|
|
|
|
Show detailed information about all worker threads.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Id | Thread ID
|
|
Accepts | Number of TCP accepts done by this thread
|
|
Reads | Number of EPOLLIN events
|
|
Writes | Number of EPOLLOUT events
|
|
Hangups | Number of EPOLLHUP and EPOLLRDUP events
|
|
Errors | Number of EPOLLERR events
|
|
Avg event queue length | Average number of events returned by one epoll_wait call
|
|
Max event queue length | Maximum number of events returned by one epoll_wait call
|
|
Max exec time | The longest time spent processing events returned by a epoll_wait call
|
|
Max queue time | The longest time an event had to wait before it was processed
|
|
Current FDs | Current number of managed file descriptors
|
|
Total FDs | Total number of managed file descriptors
|
|
Load (1s) | Load percentage over the last second
|
|
Load (1m) | Load percentage over the last minute
|
|
Load (1h) | Load percentage over the last hour
|
|
QC cache size | Query classifier size
|
|
QC cache inserts | Number of times a new query was added into the query classification cache
|
|
QC cache hits | How many times a query classification was found in the query classification cache
|
|
QC cache misses | How many times a query classification was not found in the query classification cache
|
|
QC cache evictions | How many times a query classification result was evicted from the query classification cache
|
|
|
|
### show logging
|
|
|
|
`Usage: show logging`
|
|
|
|
See `help alter logging` for more details about altering logging parameters.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Current Log File | The current log file MaxScale is logging into
|
|
Enabled Log Levels | List of log levels enabled in MaxScale
|
|
Parameters | Logging parameters
|
|
|
|
### show commands
|
|
|
|
`Usage: show commands <module>`
|
|
|
|
This command shows the parameters the command expects with the parameter descriptions.
|
|
|
|
|
|
Field | Description
|
|
----- | -----------
|
|
Command | Command name
|
|
Parameters | Parameters the command supports
|
|
Descriptions | Parameter descriptions
|
|
|
|
### show qc_cache
|
|
|
|
`Usage: show qc_cache`
|
|
|
|
Show contents (statement and hits) of query classifier cache.
|
|
|
|
### show dbusers
|
|
|
|
`Usage: show dbusers <service>`
|
|
|
|
Show information about the database users of the service
|
|
|
|
## set
|
|
|
|
```
|
|
Usage: set <command>
|
|
|
|
Commands:
|
|
server <server> <state> Set server state
|
|
|
|
Set options:
|
|
--force Forcefully close all connections to the target server
|
|
[boolean] [default: false]
|
|
|
|
```
|
|
|
|
### set server
|
|
|
|
`Usage: set server <server> <state>`
|
|
|
|
If <server> is monitored by a monitor, this command should only be used to set
|
|
the server into the `maintenance` state. Any other states will be overridden by
|
|
the monitor on the next monitoring interval. To manually control server states,
|
|
use the `stop monitor <name>` command to stop the monitor before setting the
|
|
server states manually.
|
|
|
|
## clear
|
|
|
|
```
|
|
Usage: clear <command>
|
|
|
|
Commands:
|
|
server <server> <state> Clear server state
|
|
|
|
```
|
|
|
|
### clear server
|
|
|
|
`Usage: clear server <server> <state>`
|
|
|
|
This command clears a server state set by the `set server <server> <state>`
|
|
command
|
|
|
|
## drain
|
|
|
|
```
|
|
Usage: drain <command>
|
|
|
|
Commands:
|
|
server <server> Drain a server of connections
|
|
|
|
Drain options:
|
|
--drain-timeout Timeout for the drain operation in seconds. If exceeded, the
|
|
server is added back to all services without putting it into
|
|
maintenance mode. [number] [default: 90]
|
|
|
|
```
|
|
|
|
### drain server
|
|
|
|
`Usage: drain server <server>`
|
|
|
|
This command drains the server of connections by first removing it from all
|
|
services after which it waits until all connections are closed. When all
|
|
connections are closed, the server is put into the `maintenance` state and added
|
|
back to all the services where it was removed from. To take the server back into
|
|
use, execute `clear server <server> maintenance`.
|
|
|
|
## enable
|
|
|
|
```
|
|
Usage: enable <command>
|
|
|
|
Commands:
|
|
log-priority <log> Enable log priority [warning|notice|info|debug]
|
|
account <name> Activate a Linux user account for administrative use
|
|
|
|
Enable account options:
|
|
--type Type of user to create
|
|
[string] [choices: "admin", "basic"] [default: "basic"]
|
|
|
|
```
|
|
|
|
### enable log-priority
|
|
|
|
`Usage: enable log-priority <log>`
|
|
|
|
The `debug` log priority is only available for debug builds of MaxScale.
|
|
|
|
### enable account
|
|
|
|
`Usage: enable account <name>`
|
|
|
|
The Linux user accounts are used by the MaxAdmin UNIX Domain Socket interface
|
|
|
|
## disable
|
|
|
|
```
|
|
Usage: disable <command>
|
|
|
|
Commands:
|
|
log-priority <log> Disable log priority [warning|notice|info|debug]
|
|
account <name> Disable a Linux user account from administrative use
|
|
|
|
```
|
|
|
|
### disable log-priority
|
|
|
|
`Usage: disable log-priority <log>`
|
|
|
|
The `debug` log priority is only available for debug builds of MaxScale.
|
|
|
|
### disable account
|
|
|
|
`Usage: disable account <name>`
|
|
|
|
The Linux user accounts are used by the MaxAdmin UNIX Domain Socket interface
|
|
|
|
## create
|
|
|
|
```
|
|
Usage: create <command>
|
|
|
|
Commands:
|
|
server <name> <host|socket> [port] Create a new server
|
|
monitor <name> <module> [params...] Create a new monitor
|
|
service <name> <router> <params...> Create a new service
|
|
filter <name> <module> [params...] Create a new filter
|
|
listener <service> <name> <port> Create a new listener
|
|
user <name> <password> Create a new network user
|
|
|
|
```
|
|
|
|
### create server
|
|
|
|
`Usage: create server <name> <host|socket> [port]`
|
|
|
|
The created server will not be used by any services or monitors unless the
|
|
--services or --monitors options are given. The list of servers a service or a
|
|
monitor uses can be altered with the `link` and `unlink` commands. If the
|
|
<host|socket> argument is an absolute path, the server will use a local UNIX
|
|
domain socket connection. In this case the [port] argument is ignored.
|
|
|
|
### create monitor
|
|
|
|
`Usage: create monitor <name> <module> [params...]`
|
|
|
|
The list of servers given with the --servers option should not contain any
|
|
servers that are already monitored by another monitor. The last argument to this
|
|
command is a list of key=value parameters given as the monitor parameters.
|
|
|
|
### create service
|
|
|
|
`Usage: service <name> <router> <params...>`
|
|
|
|
The last argument to this command is a list of key=value parameters given as the
|
|
service parameters. If the --servers or --filters options are used, they must be
|
|
defined after the service parameters.
|
|
|
|
Note that the `user` and `password` parameters must be defined.
|
|
|
|
### create filter
|
|
|
|
`Usage: filter <name> <module> [params...]`
|
|
|
|
The last argument to this command is a list of key=value parameters given as the
|
|
filter parameters.
|
|
|
|
### create listener
|
|
|
|
`Usage: create listener <service> <name> <port>`
|
|
|
|
The new listener will be taken into use immediately.
|
|
|
|
### create user
|
|
|
|
`Usage: create user <name> <password>`
|
|
|
|
The created user can be used with the MaxScale REST API as well as the MaxAdmin
|
|
network interface. By default the created user will have read-only privileges.
|
|
To make the user an administrative user, use the `--type=admin` option. Basic
|
|
users can only perform `list` and `show` commands.
|
|
|
|
## destroy
|
|
|
|
```
|
|
Usage: destroy <command>
|
|
|
|
Commands:
|
|
server <name> Destroy an unused server
|
|
monitor <name> Destroy an unused monitor
|
|
listener <service> <name> Destroy an unused listener
|
|
service <name> Destroy an unused service
|
|
filter <name> Destroy an unused filter
|
|
user <name> Remove a network user
|
|
|
|
```
|
|
|
|
### destroy server
|
|
|
|
`Usage: destroy server <name>`
|
|
|
|
The server must be unlinked from all services and monitor before it can be
|
|
destroyed.
|
|
|
|
### destroy monitor
|
|
|
|
`Usage: destroy monitor <name>`
|
|
|
|
The monitor must be unlinked from all servers before it can be destroyed.
|
|
|
|
### destroy listener
|
|
|
|
`Usage: destroy listener <service> <name>`
|
|
|
|
Destroying a listener closes the listening socket, opening it up for reuse.
|
|
|
|
### destroy service
|
|
|
|
`Usage: destroy service <name>`
|
|
|
|
The service must be unlinked from all servers and filters. All listeners for the
|
|
service must be destroyed before the service itself can be destroyed.
|
|
|
|
### destroy filter
|
|
|
|
`Usage: destroy filter <name>`
|
|
|
|
The filter must not be used by any service when it is destroyed.
|
|
|
|
### destroy user
|
|
|
|
`Usage: destroy user <name>`
|
|
|
|
The last remaining administrative user cannot be removed. Create a replacement
|
|
administrative user before attempting to remove the last administrative user.
|
|
|
|
## link
|
|
|
|
```
|
|
Usage: link <command>
|
|
|
|
Commands:
|
|
service <name> <server...> Link servers to a service
|
|
monitor <name> <server...> Link servers to a monitor
|
|
|
|
```
|
|
|
|
### link service
|
|
|
|
`Usage: link service <name> <server...>`
|
|
|
|
This command links servers to a service, making them available for any
|
|
connections that use the service. Before a server is linked to a service, it
|
|
should be linked to a monitor so that the server state is up to date. Newly
|
|
linked server are only available to new connections, existing connections will
|
|
use the old list of servers.
|
|
|
|
### link monitor
|
|
|
|
`Usage: link monitor <name> <server...>`
|
|
|
|
Linking a server to a monitor will add it to the list of servers that are
|
|
monitored by that monitor. A server can be monitored by only one monitor at a
|
|
time.
|
|
|
|
## unlink
|
|
|
|
```
|
|
Usage: unlink <command>
|
|
|
|
Commands:
|
|
service <name> <server...> Unlink servers from a service
|
|
monitor <name> <server...> Unlink servers from a monitor
|
|
|
|
```
|
|
|
|
### unlink service
|
|
|
|
`Usage: unlink service <name> <server...>`
|
|
|
|
This command unlinks servers from a service, removing them from the list of
|
|
available servers for that service. New connections to the service will not use
|
|
the unlinked servers but existing connections can still use the servers.
|
|
|
|
### unlink monitor
|
|
|
|
`Usage: unlink monitor <name> <server...>`
|
|
|
|
This command unlinks servers from a monitor, removing them from the list of
|
|
monitored servers. The servers will be left in their current state when they are
|
|
unlinked from a monitor.
|
|
|
|
## start
|
|
|
|
```
|
|
Usage: start <command>
|
|
|
|
Commands:
|
|
service <name> Start a service
|
|
monitor <name> Start a monitor
|
|
services Start all services [aliases: maxscale]
|
|
|
|
```
|
|
|
|
### start service
|
|
|
|
`Usage: start service <name>`
|
|
|
|
This starts a service stopped by `stop service <name>`
|
|
|
|
### start monitor
|
|
|
|
`Usage: start monitor <name>`
|
|
|
|
This starts a monitor stopped by `stop monitor <name>`
|
|
|
|
### start services
|
|
|
|
`Usage: start [services|maxscale]`
|
|
|
|
This command will execute the `start service` command for all services in
|
|
MaxScale.
|
|
|
|
## stop
|
|
|
|
```
|
|
Usage: stop <command>
|
|
|
|
Commands:
|
|
service <name> Stop a service
|
|
monitor <name> Stop a monitor
|
|
services Stop all services [aliases: maxscale]
|
|
|
|
```
|
|
|
|
### stop service
|
|
|
|
`Usage: stop service <name>`
|
|
|
|
Stopping a service will prevent all the listeners for that service from
|
|
accepting new connections. Existing connections will still be handled normally
|
|
until they are closed.
|
|
|
|
### stop monitor
|
|
|
|
`Usage: stop monitor <name>`
|
|
|
|
Stopping a monitor will pause the monitoring of the servers. This can be used to
|
|
manually control server states with the `set server` command.
|
|
|
|
### stop services
|
|
|
|
`Usage: stop [services|maxscale]`
|
|
|
|
This command will execute the `stop service` command for all services in
|
|
MaxScale.
|
|
|
|
## alter
|
|
|
|
```
|
|
Usage: alter <command>
|
|
|
|
Commands:
|
|
server <server> <key> <value> Alter server parameters
|
|
[params...]
|
|
monitor <monitor> <key> <value> Alter monitor parameters
|
|
[params...]
|
|
service <service> <key> <value> Alter service parameters
|
|
[params...]
|
|
service-filters <service> [filters...] Alter filters of a service
|
|
logging <key> <value> [params...] Alter logging parameters
|
|
maxscale <key> <value> [params...] Alter MaxScale parameters
|
|
user <name> <password> Alter admin user passwords
|
|
|
|
```
|
|
|
|
### alter server
|
|
|
|
`Usage: alter server <server> <key> <value> ...`
|
|
|
|
To display the server parameters, execute `show server <server>`.
|
|
|
|
### alter [params...]
|
|
|
|
`Usage: alter <command>`
|
|
|
|
Multiple values can be updated at a time by providing the parameter name
|
|
followed by the new value. For example, the following command would change both
|
|
the `address` and the `port` parameter of a server:
|
|
|
|
alter server server1 address 127.0.0.1 port 3306
|
|
|
|
All alter commands except `alter user` and `alter service-filters` support
|
|
multiple parameters.
|
|
|
|
### alter monitor
|
|
|
|
`Usage: alter monitor <monitor> <key> <value> ...`
|
|
|
|
To display the monitor parameters, execute `show monitor <monitor>`
|
|
|
|
### alter [params...]
|
|
|
|
`Usage: alter <command>`
|
|
|
|
Multiple values can be updated at a time by providing the parameter name
|
|
followed by the new value. For example, the following command would change both
|
|
the `address` and the `port` parameter of a server:
|
|
|
|
alter server server1 address 127.0.0.1 port 3306
|
|
|
|
All alter commands except `alter user` and `alter service-filters` support
|
|
multiple parameters.
|
|
|
|
### alter service
|
|
|
|
`Usage: alter service <service> <key> <value> ...`
|
|
|
|
To display the service parameters, execute `show service <service>`. Some
|
|
routers support runtime configuration changes to all parameters. Currently all
|
|
readconnroute, readwritesplit and schemarouter parameters can be changed at
|
|
runtime. In addition to module specific parameters, the following list of common
|
|
service parameters can be altered at runtime:
|
|
|
|
[
|
|
"user",
|
|
"passwd",
|
|
"enable_root_user",
|
|
"max_connections",
|
|
"connection_timeout",
|
|
"auth_all_servers",
|
|
"optimize_wildcard",
|
|
"strip_db_esc",
|
|
"localhost_match_wildcard_host",
|
|
"max_slave_connections",
|
|
"max_slave_replication_lag",
|
|
"retain_last_statements"
|
|
]
|
|
|
|
### alter [params...]
|
|
|
|
`Usage: alter <command>`
|
|
|
|
Multiple values can be updated at a time by providing the parameter name
|
|
followed by the new value. For example, the following command would change both
|
|
the `address` and the `port` parameter of a server:
|
|
|
|
alter server server1 address 127.0.0.1 port 3306
|
|
|
|
All alter commands except `alter user` and `alter service-filters` support
|
|
multiple parameters.
|
|
|
|
### alter service-filters
|
|
|
|
`Usage: alter service-filters <service> [filters...]`
|
|
|
|
The order of the filters given as the second parameter will also be the order in
|
|
which queries pass through the filter chain. If no filters are given, all
|
|
existing filters are removed from the service.
|
|
|
|
For example, the command `maxctrl alter service filters my-service A B C` will
|
|
set the filter chain for the service `my-service` so that A gets the query first
|
|
after which it is passed to B and finally to C. This behavior is the same as if
|
|
the `filters=A|B|C` parameter was defined for the service.
|
|
|
|
### alter logging
|
|
|
|
`Usage: alter logging <key> <value> ...`
|
|
|
|
To display the logging parameters, execute `show logging`
|
|
|
|
### alter maxscale
|
|
|
|
`Usage: alter maxscale <key> <value> ...`
|
|
|
|
To display the MaxScale parameters, execute `show maxscale`. The following list
|
|
of parameters can be altered at runtime:
|
|
|
|
[
|
|
"auth_connect_timeout",
|
|
"auth_read_timeout",
|
|
"auth_write_timeout",
|
|
"admin_auth",
|
|
"admin_log_auth_failures",
|
|
"passive",
|
|
"ms_timestamp",
|
|
"skip_permission_checks",
|
|
"query_retries",
|
|
"query_retry_timeout",
|
|
"retain_last_statements",
|
|
"dump_last_statements"
|
|
]
|
|
|
|
### alter user
|
|
|
|
`Usage: alter user <name> <password>`
|
|
|
|
Changes the password for a user. To change the user type, destroy the user and
|
|
then create it again.
|
|
|
|
## rotate
|
|
|
|
```
|
|
Usage: rotate <command>
|
|
|
|
Commands:
|
|
logs Rotate log files by closing and reopening the files
|
|
|
|
```
|
|
|
|
### rotate logs
|
|
|
|
`Usage: rotate logs`
|
|
|
|
This command is intended to be used with the `logrotate` command.
|
|
|
|
## reload
|
|
|
|
```
|
|
Usage: reload <command>
|
|
|
|
Commands:
|
|
service <service> Reloads the database users of this service
|
|
|
|
```
|
|
|
|
### reload service
|
|
|
|
`Usage: reload service <service>`
|
|
|
|
## call
|
|
|
|
```
|
|
Usage: call <command>
|
|
|
|
Commands:
|
|
command <module> <command> [params...] Call a module command
|
|
|
|
```
|
|
|
|
### call command
|
|
|
|
`Usage: call command <module> <command> [params...]`
|
|
|
|
To inspect the list of module commands, execute `list commands`
|
|
|
|
## cluster
|
|
|
|
```
|
|
Usage: cluster <command>
|
|
|
|
Commands:
|
|
diff <target> Show difference between host servers and <target>.
|
|
sync <target> Synchronize the cluster with target MaxScale server.
|
|
|
|
```
|
|
|
|
### cluster diff
|
|
|
|
`Usage: cluster diff <target>`
|
|
|
|
The list of host servers is controlled with the --hosts option. The target
|
|
server should not be in the host list. Value of <target> must be in HOST:PORT
|
|
format
|
|
|
|
### cluster sync
|
|
|
|
`Usage: cluster sync <target>`
|
|
|
|
This command will alter all MaxScale instances given in the --hosts option to
|
|
represent the <target> MaxScale. Value of <target> must be in HOST:PORT format.
|
|
Synchronization can be attempted again if a previous attempt failed due to a
|
|
network failure or some other ephemeral error. Any other errors require manual
|
|
synchronization of the MaxScale configuration files and a restart of the failed
|
|
Maxscale.
|
|
|
|
Note: New objects created by `cluster sync` will have a placeholder value and
|
|
must be manually updated. Passwords for existing objects will not be updated by
|
|
`cluster sync` and must also be manually updated.
|
|
|
|
## api
|
|
|
|
```
|
|
Usage: api <command>
|
|
|
|
Commands:
|
|
get <resource> [path] Get raw JSON
|
|
|
|
API options:
|
|
--sum Calculate sum of API result. Only works for arrays of numbers e.g. `api
|
|
get --sum servers data[].attributes.statistics.connections`.
|
|
[boolean] [default: false]
|
|
|
|
```
|
|
|
|
### api get
|
|
|
|
`Usage: get <resource> [path]`
|
|
|
|
Perform a raw REST API call. The path definition uses JavaScript syntax to
|
|
extract values. For example, the following command extracts all server states as
|
|
an array of JSON values: maxctrl api get servers data[].attributes.state
|
|
|
|
## classify
|
|
|
|
```
|
|
Usage: classify <statement>
|
|
|
|
```
|
|
|