A convenience wrapper for executing arbitrary SQL queries on a node.

A cluster node is specified using the --memsql-id flag. This will use memsqlctl to execute the query.

The --password flag is optional and specifies the SingleStore root password. You can use this flag in conjunction with the --user flag to specify a SingleStore user that is different from the root user and the user’s password. Note that the MEMSQL_PASSWORD environment variable is a safer alternative option for setting the password.

Wrap the password string in single quotes (') to avoid having the shell try to interpret any special characters included in the string.

A node may alternatively be specified using a combination of --host, --port, --user, and --password. This is not recommended because it can result in connecting to a node outside the cluster.


sdb-admin query --sql 'select * from data' --memsql-id 0123ABCDEF
sdb-admin query --sql 'select * from data' --host memsql-01 --port 3306 --password mypassword


sdb-admin query [flags]
For flags that can accept multiple values (indicated by VALUES after the name of the flag),
separate each value with a comma.
-h, --help Help for query
--host string The cluster-addressable hostname for the node
--max-column-width int The maximum width of a column in a query result. The supplied value cannot be less than 60. To disable the limitation, set the value to 0 (default 60)
--memsql-id MemsqlID The node ID of the node to query
-p, --password STRING The database user's password. If a password is specified on the command line, it must not contain an unescaped '$' character as it will be replaced by the shell.
If a password is not specified on the command line and user is not "root", Toolbox will attempt to read the password from the ‘MEMSQL_PASSWORD’ environment variable.
If this variable is present but does not contain a value, or if the variable does not exist, Toolbox will prompt for a password
--port PORT The cluster-addressable port for the node
--row-timeout duration Maximum time to wait for each row in the result (e.g., 30s, 10m, 1.5h); defaults to 1 minute (default 1m0s)
--sql string The SQL query to run
--ssl Use SSL to connect to SingleStore
--ssl-ca FILE_PATH The path to the CA file to use when the SQL user connects to SingleStore via SSL. If this option is not specified, the default CA file will be used
--user string The database user
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 File path for the Toolbox configuration
--disable-colors Disable color output in console, which some terminal sessions/environments may have difficulty with
--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-control-persist SECONDS Enable SSH ControlPersist and set it to the specified duration in seconds
--ssh-max-sessions POSITIVE_INTEGER Maximum number of SSH sessions to open per host, must be at least 3
--ssh-strict-host-key-checking Enable strict host key checking for SSH connections
--ssh-user-known-hosts-file FILE_PATH Path to the user known_hosts file for SSH connections. If not set, /dev/null will be used
--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


This command is interactive unless you use either --yes or --json flag to override interactive behavior.

Last modified: April 22, 2024

Was this article helpful?