Outdated Version

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.