You are viewing an older version of this section. View current production version.
update-config
Update configuration for one or all MemSQL nodes in the cluster.
Usage
Update configuration for one or all MemSQL nodes in the cluster
Usage:
memsql-admin update-config [flags]
Flags:
-a, --all Update all nodes in the cluster
-h, --help Help for update-config
--key string The configuration key to update
--memsql-id MemsqlID The MemSQL ID of the node
--reset Reset the key to the default value
--set-global Execute the associated SET GLOBAL statement
--value string The value to set for the key
Global Flags:
--backup-cache FILE_PATH File path for the backup cache
--cache-file FILE_PATH File path for the Toolbox node cache
-c, --config FILE_PATH Toolbox configuration file path
--disable-spinner Disable the progress spinner, which some terminal sessions/environments may have issues with
-j, --json Enable JSON output
--parallelism POSITIVE_INTEGER Maximum number of operations to run in parallel
--runtime-dir DIRECTORY_PATH Where to store Toolbox runtime data
--ssh-max-sessions POSITIVE_INTEGER Maximum number of SSH sessions to open per host, must be at least 3
--state-file FILE_PATH Toolbox state file path
-v, --verbosity count Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count
-y, --yes Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default
Remarks
For the target MemSQL nodes, update-config
instructs each node, on startup, to set the engine variable (specified by the --key
) to the --value
.
If --set-global
is specified, update-config
will connect to the node (if the process is running) and run SET GLOBAL, setting the variable specified by the --key
to the --value
. This enables the variable’s value to be set before the node restarts.
Using --set-global
is equivalent to running SET GLOBAL on a non-sync variable or running SET CLUSTER on a sync variable.
If --reset
is specified, it will reset both the SET GLOBAL
variables and the MemSQL config file variables.
This command is interactive unless you use either the --yes
or --json
flags to override interactive behavior.
If the engine variable (specified by the --key
) is a sync variable:
- You must specify the
--memsql-id
of the master aggregator. - You must specify the
--set-global
parameter. - You cannot specify the
--all
parameter.
Example 1
The following example sets the general_log
engine variable on all nodes on the local machine.
memsql-admin update-config --all --set-global --key "general_log" --value "PARTIAL"
Output:
Toolbox is about to run 'memsqlctl update-config --key general_log --value PARTIAL --set-global'
on the following nodes:
- On host 127.0.0.1:
+ 24084C82FD8E4342EF61ED4D85105A1CF5A264F5
+ B72DD1417CBAEAC04FD71ED3E0CAC81A723DB43C
Would you like to continue? [y/N]: y
✓ Updated configuration on 127.0.0.1
Operation completed successfully
Example 2
The following example attempts to set a sync variable on a leaf node.
memsql-admin update-config --memsql-id B72DD1417CBAEAC04FD71ED3E0CAC81A723DB43C --set-global
--key "default_distributed_ddl_timeout" --value "15"
As expected, update-config
fails with the following error:
Variable default_distributed_ddl_timeout must be set on a Master Aggregator
To correct this error, run memsql-admin update-config
using the --memsql-id
of the Master Aggregator.