query
On this page
Description
A convenience wrapper for executing arbitrary SQL queries on a node on this host.
The --password flag is optional and specifies the SingleStore root password.--user flag to specify a SingleStore user that is different from the root user and the user’s password.MEMSQL_ 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.
Usage
Usage:
memsqlctl query [flags]
Flags:
-h, --help Help for query
--host string The cluster-addressable hostname for the node
--memsql-id string The node ID of the node to query
-p, --password STRING The database user's 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)
-e, --sql string The SQL query to run
--user string The database user
Global Flags:
-c, --config FILE_PATH Path to the memsqctl config file
--default-install-dir DIRECTORY_PATH Path to the default install directory
--insecure-ssl Fall back to insecure SSL connections to local nodes if memsqlctl is unable to otherwise establish a connection (ADVANCED)
-j, --json Print output in JSON format
--node-metadata-file FILE_PATH Path to the node metadata file
--parallelism POSITIVE_INTEGER Maximum amount of operations to be run in parallel
--ssl-ca FILE_PATH The path to the CA certificate file (in PEM format) to authenticate the database certificate
--timeout duration Maximum time for operation to complete (e.g., 30s, 10m, 1.5h)
--verbose-json Print output in JSON format, include some warnings and user messages
-v, --verbosity count Increase logging verbosity
-y, --yes Enable non-interactive mode and assume the user would like to move forward with the proposed actions by defaultRemarks
-
This command is interactive unless you use either
--yesor--jsonflag to override interactive behavior. -
The
memsqlctl querycommand is equivalent to the sdb-admin query command.
Output
The following shows how to use the query command to run SHOW DATABASES against the master aggregator on the local host.
sudo memsqlctl query --sql "SHOW DATABASES"
+-------+------------+--------+------+---------------+---------+
| Index | MemSQL ID | Role | Port | Process State | Version |
+-------+------------+--------+------+---------------+---------+
| 1 | 29EB592436 | Master | 3306 | Running | 6.5.14 |
| 2 | 035F453938 | Leaf | 3307 | Running | 6.5.14 |
+-------+------------+--------+------+---------------+---------+
Select an option: 1
+--------------------+
| Database |
+--------------------+
| clister |
| information_schema |
| memsql |
+--------------------+Another example executes the same query on the master aggregator from its local host without specifying the memsql-id of the master aggregator node and printing the output in JSON format.
sudo memsqlctl list-nodes -q -r master | xargs -I % sudo memsqlctl query --sql "SHOW DATABASES" --memsql-id % --json
{
"columns": [
"Database"
],
"rows": [
{
"Database": "cluster"
},
{
"Database": "information_schema"
},
{
"Database": "memsql"
}
]
}Last modified: April 22, 2024