MySQL Shell 9.5  / MySQL Shell Command Reference  /  mysqlsh — The MySQL Shell

A.1 mysqlsh — The MySQL Shell

MySQL Shell is an advanced command-line client and code editor for MySQL. In addition to SQL, MySQL Shell also offers scripting capabilities for JavaScript and Python. For information about using MySQL Shell, seeMySQL Shell 9.5. When MySQL Shell is connected to the MySQL Server through the X Protocol, the X DevAPI can be used to work with both relational and document data, seeUsing MySQL as a Document Store. MySQL Shell includes the AdminAPI that enables you to work with InnoDB Cluster, InnoDB ClusterSet, and InnoDB ReplicaSet deployments; seeChapter 6,MySQL AdminAPI.

Many of the options described here are related to connections between MySQL Shell and a MySQL Server instance. SeeSection 4.3, “MySQL Shell Connections” for more information.

mysqlsh supports the following command-line options.

Table A.1 mysqlsh Options

Option NameDescription
--Start of API command line integration
--auth-methodAuthentication method to use
--authentication-oci-client-config-profileProfile in the OCI configuration file
--authentication-openid-connect-client-id-token-fileThe file path to an OpenId Connect authorization token file
--clusterConnect to an InnoDB cluster
--column-type-infoPrint metadata for columns in result sets
--compressCompress all information sent between client and server
--compression-algorithmsPermitted compression algorithms for connections to server
--zstd-compression-levelCompression level for connections to server that use any compression algorithm over X Protocol or for zstd only on classic connections.
--connect-timeoutConnection timeout for global session
--credential-store-helperThe Secret Store helper for passwords
--databaseThe schema to use (alias for --schema)
--dbaEnable X Protocol on connection with MySQL 5.7 server
--dba-log-sqlLog SQL statements that are executed by AdminAPI operations
--disable-pluginsDisable loading user plugins
--executeExecute the command and quit
--fileFile to process in batch mode
--forceContinue in SQL and batch modes even if errors occur
--get-server-public-keyRequest RSA public key from server
--helpDisplay help message and exit
--histignoreStrings that are not added to the history
--hostHost on which MySQL server instance is located
--interactiveEmulate Interactive mode in batch mode
--js,--javascriptStart in JavaScript mode
--jsonPrint output in JSON format
--local-infileWhether LOCAL is supported for LOAD DATA statements in the client. Must be defined on server also
--log-fileLog file location for this instance
--log-levelSpecify logging level
--log-sqlLog all MySQL Shell-generated SQL statements to the MySQL Shell log file.
--mysql,--mcCreate a session using classic MySQL protocol
--mysql-plugin-dirDirectory where the client-side plugins are installed
--mysqlx,--mxCreate a session using X Protocol
--name-cacheEnable automatic loading of table names based on the active default schema
--no-name-cacheDisable autocompletion
--no-passwordNo password is provided for this connection
--no-wizard,--nwDisable the interactive wizards
--oci-config-filePath to the OCI configuration file to use
--pagerThe external pager tool used to display output
--passwordPassword to use when connecting to server
--password1Password 1 for multifactor authentication (equivalent to --password)
--password2Password 2 for multifactor authentication
--password3Password 3 for multifactor authentication
--passwords-from-stdinRead the password from stdin
--plugin-authentication-kerberos-client-modeAllows defining the kerberos client mode (SSPI or GSSAPI) when using kerberos authentication
--plugin-authentication-webauthn-client-preserve-privacyEnable user to choose a key to be used for assertion
--plugin-authentication-webauthn-deviceSpecifies which libfido2 device to use. Default is 0 (first device)
--portTCP/IP port number for connection
--py,--pythonStart in Python mode
--pycExecute a Python command and quit. Any options specified after this are treated as arguments of the processed command.
--pymPassword 3 for multifactor authentication
--quiet-startStart without printing introductory information
--redirect-primaryEnsure connection to an InnoDB cluster's primary
--redirect-secondaryEnsure connection to an InnoDB cluster's secondary
--register-factorMultifactor authentication factors for which registration must be done
--replicasetEnsures that the target server belongs to an InnoDB ReplicaSet, and populates the rs global variable with the InnoDB ReplicaSet the target instance belongs to
--result-formatSet the output format for this session
--save-passwordsHow passwords are stored in the Secret Store
--schemaThe schema to use
--server-public-key-pathPath name to file containing RSA public key
--show-warningsShow warnings after each statement if there are any (in SQL mode)
--socketUnix socket file or Windows named pipe to use (classic MySQL protocol only)
--sqlStart in SQL mode, auto-detecting protocol to use for connection
--sqlcStart in SQL mode using a classic MySQL protocol connection
--sqlxStart in SQL mode using an X Protocol connection
--sshURI for connection to SSH server
--ssh-config-fileConfiguration file for connection to SSH server
--ssh-identity-fileIdentity file for connection to SSH server
--ssl-caFile that contains list of trusted SSL Certificate Authorities
--ssl-capathDirectory that contains trusted SSL Certificate Authority certificate files
--ssl-certFile that contains X.509 certificate
--ssl-cipherList of permissible encryption ciphers for connections that use TLS protocols up through TLSv1.2
--ssl-crlFile that contains certificate revocation lists
--ssl-crlpathDirectory that contains certificate revocation list files
--ssl-keyFile that contains X.509 key
--ssl-modeDesired security state of connection to server
--syslogLog interactive SQL statements to the system logging facility
--tabbedDisplay output in tab separated format
--tableDisplay output in table format
--tls-ciphersuitesTLS v1.3 cipher to use
--tls-versionPermissible TLS protocol for encrypted connections
--uriSession information in URI format
--userMySQL user name to use when connecting to server
--verboseActivate verbose output to the console
--versionDisplay version information and exit
--verticalDisplay all SQL results vertically
--zstd-compression-levelCompression level for connections to server that use zstd compression

  • --help,-?

    Display a help message and exit.

  • --

    Marks the end of the list of mysqlsh options and the start of a command and its arguments for MySQL Shell's API command line integration. You can execute methods of the MySQL Shell global objects from the command line using this syntax:

    mysqlsh [options]  --objectmethod [arguments]

    SeeSection 5.8, “API Command Line Integration” for more information.

  • --auth-method=method

    Authentication method to use for the account. Depends on the authentication plugin used for the account's password. For MySQL Shell connections using classic MySQL protocol, specify the name of the authentication plugin, for examplecaching_sha2_password. For MySQL Shell connections using X Protocol, specify one of the following options:

    AUTO

    Let the library select the authentication method.

    FALLBACK

    Let the library select the authentication method, but do not use any authentication method that is not compatible with MySQL 5.7.

    FROM_CAPABILITIES

    Let the library select the authentication method, using the capabilities announced by the server instance.

    MYSQL41

    Use the challenge-response authentication protocol supported by MySQL 4.1 and later, which does not send a plaintext password. This option is compatible with accounts that use themysql_native_password authentication plugin.

    PLAIN

    Send a plaintext password for authentication. Use this option only with encrypted connections. This option can be used to authenticate with cached credentials for an account that uses thecaching_sha2_password authentication plugin, provided there is an SSL connection. SeeUsing X Plugin with the Caching SHA-2 Authentication Plugin.

    SHA256_MEMORY

    Authenticate using a hashed password stored in memory. This option can be used to authenticate with cached credentials for an account that uses thecaching_sha2_password authentication plugin, where there is a non-SSL connection. SeeUsing X Plugin with the Caching SHA-2 Authentication Plugin.

    For MySQL Shell connections using classic MySQL protocol, specify the name of the authentication plugin used by the user account, for examplecaching_sha2_password (which is the default for user accounts created in MySQL 8.0). MySQL Shell uses the MySQL client library for client-side authentication for these connections. The following authentication methods require additional configuration:

    clear_text_password

    Themysql_clear_password client-side plugin is required for simple LDAP authentication. It is built in to the MySQL client library, but for security it is not enabled by default. MySQL Shell enables and uses the plugin when you specify it with the--auth-method=clear_text_password connection option. This authentication type is only suitable for a secure connection that uses SSL or sockets, so you must configure the secure connection before using it. Note that with the optionssl-mode=preferred, the SSL connection is not guaranteed, so a connection with this option set is not considered to be an SSL connection. For more information, seeSection 4.3.4, “Using Encrypted Connections”.

    authentication_ldap_sasl_client

    Theauthentication_ldap_sasl_client client-side plugin is for SASL-based LDAP authentication, including GSSAPI/Kerberos authentication. It is not built in to the MySQL client library, but it is shipped in the MySQL Server packages. To load it, you must use the--mysql-plugin-dir option to specify a path to the plugin in the MySQL Server packages.

    authentication_kerberos_client

    Theauthentication_kerberos_client client-side plugin is for Kerberos authentication. It is not built in to the MySQL client library, but it is shipped in the MySQL Server packages. To load it, you must use the--mysql-plugin-dir option to specify a path to the plugin in the MySQL Server packages.

    Cached ticket-granting tickets (TGTs) for Kerberos authentication are supported from MySQL 8.0.27 when the--auth-method option is used to specify theauthentication_ldap_sasl_client orauthentication_kerberos_client plugin, and the--mysql-plugin-dir option is used to provide a path to the plugin. To use cached TGTs, do not specify a user and password in the connection options. When you specify one of these plugins and do not specify a user and password, MySQL Shell does not supply the system user name, does not prompt for a password, and does not attempt to use the Secret Store helper to retrieve or store credentials.

    For more information, seeSection 4.3.5, “Using LDAP and Kerberos Authentication”.

  • --cluster

    Ensures that the target server is part of an InnoDB Cluster and if so, sets thecluster global variable to the cluster object.

  • --column-type-info

    In SQL mode, before printing the returned result set for a query, print metadata for each column in the result set, such as the column type and collation.

    The column type is returned as both the type used by MySQL Shell (Type), and the type used by the original database (DBType). For MySQL Shell connections using classic MySQL protocol,DBType is as returned by the protocol, and for X Protocol connections,DBType is inferred from the available information. The column length (Length) is returned in bytes.

  • --compress[={required|preferred|disabled}],-C [{required|preferred|disabled}]

    Controls compression of information sent between the client and the server using this connection. It is also available for classic MySQL protocol and X Protocol connections, and you can optionally specifyrequired,preferred, ordisabled. When just--compress is specified, the value defaults to--compress=required. SeeSection 4.3.8, “Using Compressed Connections” for information on using MySQL Shell's compression control in all releases.

  • --compression-algorithms=value

    Command-Line Format--compression-algorithms=value
    TypeSet
    Default Valueuncompressed
    Valid Values

    zlib

    zstd

    uncompressed

    The permitted compression algorithms for connections to the server.

    SeeSection 4.3.8.1, “Compression Control For MySQL Shell”.

  • --compression-level=level

    Command-Line Format--zstd-compression-level=#
    TypeInteger

    Compression level for connections to server that use any compression algorithm over X Protocol or for zstd only on classic connections.

    SeeSection 4.3.8.1, “Compression Control For MySQL Shell”.

  • --zstd-compression-level=level

    Command-Line Format--zstd-compression-level=#
    TypeInteger

    The compression level to use for connections to the server that use thezstd compression algorithm. The permitted levels are from 1 to 22, with larger values indicating increasing levels of compression. The defaultzstd compression level is 3. The compression level setting has no effect on connections that do not usezstd compression.

    SeeSection 4.3.8.1, “Compression Control For MySQL Shell”.

  • --connect-timeout=ms

    Configures how long MySQL Shell waits (in milliseconds) to establish a global session specified through command-line arguments.

  • --credential-store-helper=helper

    The Secret Store Helper that is to be used to store and retrieve passwords. SeeSection 4.4, “Pluggable Password Store”.

  • --database=name,-Dname

    The default schema to use. This is an alias for--schema.

  • --disable-plugins

    Disables user plugins.

  • --local-infile[=OFF|ON]

    This variable controls client-side LOCAL capability for LOAD DATA statements.

    The following options are available:

    OFF

    (Default) It is not possible to useLOAD DATA LOCAL INFILE statements.

    ON

    It is possible to useLOAD DATA LOCAL INFILE statements, if the server has been configured to permit them.

  • --log-sql[=off|error|on|all|unfiltered]

    Log all SQL statements executed by MySQL Shell to the MySQL Shell log file,mysqlsh.log

    The following options are available:

    off

    No MySQL Shell SQL statements are logged.

    error

    (Default value) only MySQL Shell failed SQL statements with are logged.

    on

    All MySQL Shell SQL statements are logged, except those which match the ignore pattern defined inlogSql.ignorePattern andlogSql.ignorePatternUnsafe. SeeFiltering SQL Logging for more information.

    all

    All MySQL Shell SQL statements are logged, except those which match the ignore pattern defined inlogSql.ignorePatternUnsafe. SeeFiltering SQL Logging for more information.

    unfiltered

    All MySQL Shell SQL statements are logged, no filtering is performed.

  • --execute=command,-ecommand

    Execute the command using the currently active language and quit. This option is mutually exclusive with the--file=file_name option.

  • --file=file_name,-ffile_name

    Specify a file to process in Batch mode. Any options specified after this are used as arguments of the processed file.

  • --force

    Continue processing in SQL and Batch modes even if errors occur.

  • --histignore=strings

    Specify strings that are not added to the MySQL Shell history. Strings are separated by a colon. Matching is case insensitive, and the wildcards * and ? can be used. The default ignored strings are specified as*IDENTIFIED*:*PASSWORD*. SeeSection 5.5, “Code History”.

  • --host=host_name,-hhost_name

    Connect to the MySQL server on the given host. On Windows, if you specify--host=. or-h . (giving the host name as a period), MySQL Shell connects using the default named pipe (which has the nameMySQL), or an alternative named pipe that you specify using the--socket option.

  • --get-server-public-key

    MySQL Shell equivalent of--get-server-public-key.

    If--server-public-key-path=file_name is given and specifies a valid public key file, it takes precedence over--get-server-public-key.

    Important

    Only supported with classic MySQL protocol connections.

    SeeCaching SHA-2 Pluggable Authentication.

  • --interactive[=full],-i

    Emulate Interactive mode in Batch mode.

  • --js,--javascript

    Start in JavaScript mode.

  • --json[={off|pretty|raw}]

    Controls JSON wrapping for MySQL Shell output from this session. This option is intended for interfacing MySQL Shell with other programs, for example as part of testing. For changing query results output to use the JSON format, see--result-format.

    When the--json option has no value or a value ofpretty, the output is generated as pretty-printed JSON. With a value ofraw, the output is generated in raw JSON format. In any of these cases, the--result-format option and its aliases and the value of theresultFormat MySQL Shell configuration option are ignored. With a value ofoff, JSON wrapping does not take place, and result sets are output as normal in the format specified by the--result-format option or theresultFormat configuration option.

  • --log-file=path

    Change the location of the MySQL Shell application log filemysqlsh.log for this MySQL Shell instance. The default location for the application log file is the user configuration path, which defaults to%APPDATA%\MySQL\mysqlsh\ on Windows or~/.mysqlsh/ on Unix. You can override the user configuration path for all MySQL Shell instances by defining the environment variableMYSQLSH_USER_CONFIG_HOME. The--log-file option applies to the individual MySQL Shell instance, meaning that different instances can write to different locations.

  • --log-level=N

    Change the logging level for the MySQL Shell application log filemysqlsh.log, or disable logging to the file. The option requires a value, which can be either an integer in the range from 1 to 8, or one ofnone,internal,error,warning,info,debug,debug2, ordebug3. Specifying 1 ornone disables logging to the application log file. Level 5 (info) is the default if you do not specify this option. SeeChapter 13,MySQL Shell Logging and Debug.

  • --mysql,--mc

    Sets the global session created at start up to use a classic MySQL protocol connection.

  • --mysql-plugin-dir=path

    Sets a non-persistent path to the client-side authentication plugins by overriding the value of theshell.options.mysqlPluginDir setting. Client-side plugins are shipped in the MySQL Server packages and can be located relative to the MySQL base directory (the value of thebasedir system variable). For example:

    • C:\program files\mysql\mysql Server 8.0\lib\plugin on Windows host types

    • /usr/local/mysql/lib/plugin on Linux host types

    For a list of the client authentication plugins that ship with the server, seeAvailable Authentication Plugins.

  • --mysqlx,--mx

    Sets the global session created at start up to use an X Protocol connection.

  • --name-cache

    Enable automatic loading of table names based on the active default schema.

  • --no-name-cache,-A

    Disable loading of table names for autocompletion based on the active default schema and the DevAPIdb object. Use\rehash to reload the name information manually.

  • --no-password

    When connecting to the server, if the user has a passwordless account, which is insecure and not recommended, or if socket peer-credential authentication is in use (for Unix socket connections), you must use--no-password to explicitly specify that no password is provided and the password prompt is not required.

  • --no-wizard,-nw

    Disables the interactive wizards provided by operations such as creating connections,dba.configureInstance(),Cluster.rebootClusterFromCompleteOutage() and so on. Use this option when you want to script MySQL Shell and not have the interactive prompts displayed. For more information seeSection 5.6, “Batch Code Execution” andSection 5.8, “API Command Line Integration”.

  • --oci-config-file=pathToConfigFile

    Configures a path to the OCI config file to use with OCI authentication to connect to a MySQL HeatWave Service DB System.

    The value defined here overrides the value defined in theoci.configFile option.

    For more information, seeAuthenticating Using authentication_oci Plugin.

  • --authentication-oci-client-config-profile=profileName

    Configures the profile in the OCI config file to use with OCI authentication to connect to a MySQL HeatWave Service DB System.

    The value defined here overrides the value defined in theoci.profile option.

    For more information, seeAuthenticating Using authentication_oci Plugin.

  • --authentication-openid-connect-client-id-token-file=filename

    The file path to an OpenId Connect authorization token file

    SeeSection 4.3.6, “Using OpenID Connect”.

    Important

    OpenID Connect authentication is supported by MySQL Enterprise Edition, only.

  • --pager=name

    The external pager tool used by MySQL Shell to display text output for statements executed in SQL mode and other selected commands such as online help. If you do not set a pager, the pager specified by thePAGER environment variable is used. SeeSection 4.7, “Using a Pager”.

  • --passwords-from-stdin

    Read the password from standard input, rather than from the terminal. This option does not affect any other password behaviors, such as the password prompt.

  • --password[=password],-ppassword

    The password to use when connecting to the server. The maximum password length that is accepted for connecting to MySQL Shell is 128 characters.

    • --password=password (-ppassword) with a value supplies a password to be used for the connection. With the long form--password=, you must use an equals sign and not a space between the option and its value. With the short form-p, there must be no space between the option and its value. If a space is used in either case, the value is not interpreted as a password and might be interpreted as another connection parameter.

      Specifying a password on the command line should be considered insecure. SeeEnd-User Guidelines for Password Security. You can use an option file to avoid giving the password on the command line.

    • --password with no value and no equal sign, or-p without a value, requests the password prompt.

    • --password= with an empty value has the same effect as--no-password, which specifies that the user is connecting without a password. When connecting to the server, if the user has a passwordless account, which is insecure and not recommended, or if socket peer-credential authentication is in use (for Unix socket connections), you must use one of these methods to explicitly specify that no password is provided and the password prompt is not required.

  • --password1[=password]

    --password1,--password2 and--password3 are the passwords to use for accounts that require multifactor authentication. You can supply up to three passwords. The options work in the same way as the--password option, and--password1 is treated as equivalent to that option. You can specify a password value following the option on the command line (which is insecure), or if the options are given without a password value, MySQL Shell prompts the user for each password in turn. Only supported for classic MySQL protocol connections made using command-line arguments.

  • --password2[=password]

    The password for the second authentication method for accounts that require multifactor authentication. See the description for the--password1 option.

  • --password3[=password]

    The password for the third authentication method for accounts that require multifactor authentication. See the description for the--password1 option.

  • --plugin-authentication-kerberos-client-mode={SSPI|GSSAPI}

    Command-Line Format--plugin-authentication-kerberos-client-mode
    TypeString
    Default ValueSSPI
    Valid Values

    SSPI

    GSSAPI

    On Microsoft Windows platforms, allows defining the kerberos client mode (SSPI or GSSAPI) when using kerberos authentication.

    Ifplugin-authentication-kerberos-client-mode is not defined,SSPI is used by default.

    When connecting to a MySQL server using Kerberos authentication, the authentication modes have the following behavior:

    • GSSAPI:

      • If a password is not provided, the authentication ticket is retrieved from the MIT Kerberos cache. If a valid ticket cannot be found, the connection fails.

      • If a password is provided, the authentication ticket is retrieved from the Kerberos server and stored in the MIT Kerberos cache.

      • If an account name is not provided, the Windows user name is used as the MySQL account name.

    • SSPI:

      • If a password is not provided, the Windows single-sign-on ticket is used.

      • If a password is provided, the authentication ticket is stored in temporary, in-memory storage.

  • --plugin-authentication-webauthn-client-preserve-privacy={OFF|ON}

    Command-Line Format--plugin-authentication-webauthn-client-preserve-privacy
    TypeBoolean
    Default Valuefalse

    Determines how assertions are sent to server in case there are more than one discoverable credentials stored for a given RP ID (a unique name given to the relying-party server, which is the MySQL server). If the FIDO2 device contains multiple resident keys for a given RP ID, this option allows the user to choose a key to be used for assertion. It provides two possible values that the client user can set. The default value isfalse. If set tofalse, the challenge is signed by all credentials available for a given RP ID and all signatures are sent to server. If set totrue, the user is prompted to choose the credential to be used for signature.

    Note

    This option has no effect if the device does not support the resident-key feature.

    For more information, seeWebAuthn Pluggable Authentication.

  • --plugin-authentication-webauthn-device=n

    Command-Line Format--plugin-authentication-webauthn-device
    TypeInteger
    Default Value0

    Specifies which libfido2 device to use. Default is 0 (first device). Supported over classic protocol, only.

    For more information, seeWebAuthn Pluggable Authentication.

  • --port=port_num,-Pport_num

    The TCP/IP port number to use for the connection. The default is port 33060.

  • --py,--python

    Start in Python mode.

  • --pyc=pythonCommand,-c

    Execute a Python command and quit. Any options specified after this are treated as arguments of the processed command.

  • --pym

    Execute the specified Python module as a script in MySQL Shell's Python mode.--pym works in the same way as Python's-m command line option.

  • --quiet-start[=1|2]

    Start without printing introductory information. MySQL Shell normally prints information about the product, information about the session (such as the default schema and connection ID), warning messages, and any errors that are returned during startup and connection. When you specify--quiet-start with no value or a value of 1, information about the MySQL Shell product is not printed, but session information, warnings, and errors are printed. With a value of 2, only errors are printed.

  • --redirect-primary

    Ensures that the target server is part of an InnoDB Cluster or InnoDB ReplicaSet and if it is not the primary, finds the primary and connects to it. MySQL Shell exits with an error if any of the following is true when using this option:

    • No instance is specified

    • On an InnoDB Cluster, Group Replication is not active

    • InnoDB Cluster metadata does not exist

    • There is no quorum

  • --register-factor=value

    Command-Line Format--register-factor=value
    TypeString

    The factor or factors for which FIDO/FIDO2 device registration must be performed before WebAuthn device-based authentication can be used. This option value must be a single value, or two values separated by commas. Each value must be 2 or 3, so the permitted option values are'2','3','2,3' and'3,2'.

    For example, an account that requires registration for a 3rd authentication factor invokes themysql client as follows:

    mysqlsh --user=user_name --register-factor=3

    An account that requires registration for a 2nd and 3rd authentication factor invokes themysql client as follows:

    mysqlsh --user=user_name --register-factor=2,3

    If registration is successful, a connection is established. If there is an authentication factor with a pending registration, a connection is placed into pending registration mode when attempting to connect to the server. In this case, disconnect and reconnect with the correct--register-factor value to complete the registration.

    Registration is a two step process comprisinginitiate registration andfinish registration steps. The initiate registration step executes this statement:

    ALTER USERuserfactor INITIATE REGISTRATION

    The statement returns a result set containing a 32 byte challenge, the user name, and the relying party ID (seeauthentication_webauthn_rp_id).

    The finish registration step executes this statement:

    ALTER USERuserfactor FINISH REGISTRATION SET CHALLENGE_RESPONSE AS 'auth_string'

    The statement completes the registration and sends the following information to the server as part of theauth_string: authenticator data, an optional attestation certificate in X.509 format, and a signature.

    The initiate and registration steps must be performed in a single connection, as the challenge received by the client during the initiate step is saved to the client connection handler. Registration would fail if the registration step was performed by a different connection. The--register-factor option executes both the initiate and registration steps, which avoids the failure scenario described above and prevents having to execute theALTER USER initiate and registration statements manually.

    The--register-factor option is only available for themysql client. Other MySQL client programs do not support it.

    For related information, seeUsing WebAuthn Authentication.

  • --replicaset

    Ensures that the target server belongs to an InnoDB ReplicaSet, and if so, populates thers global variable with the InnoDB ReplicaSet. You can then administer the InnoDB ReplicaSet using thers global variable, for example by issuingrs.status().

  • --redirect-secondary

    Ensures that the target server is part of a single-primary InnoDB Cluster or InnoDB ReplicaSet and if it is not a secondary, finds a secondary and connects to it. MySQL Shell exits with an error if any of the following is true when using this option:

    • On an InnoDB Cluster, Group Replication is not active

    • InnoDB Cluster metadata does not exist

    • There is no quorum

    • The cluster is not single-primary and is running in multi-primary mode

    • There is no secondary available, for example because there is just one server instance

  • --result-format={table|tabbed|vertical|json|json/pretty|ndjson|json/raw|json/array}

    Set the value of theresultFormat MySQL Shell configuration option for this session. Formats are as follows:

    table

    The default for interactive mode, unless another value has been set persistently for theresultFormat configuration option in the configuration file, in which case that default applies. The--table alias can also be used.

    tabbed

    The default for batch mode, unless another value has been set persistently for theresultFormat configuration option in the configuration file, in which case that default applies. The--tabbed alias can also be used.

    vertical

    Produces output equivalent to the\G terminator for an SQL query. The--vertical or-E aliases can also be used.

    json or json/pretty

    Produces pretty-printed JSON.

    ndjson or json/raw

    Produces raw JSON delimited by newlines.

    json/array

    Produces raw JSON wrapped in a JSON array.

    If the--json command line option is used to activate JSON wrapping for output for the session, the--result-format option and its aliases and the value of theresultFormat configuration option are ignored.

  • --save-passwords={always|prompt|never}

    Controls whether passwords are automatically stored in the secret store.always means passwords are always stored unless they are already in the store or the server URL is excluded by a filter.never means passwords are never stored.prompt, which is the default, means users are asked whether to store the password or not. SeeSection 4.4, “Pluggable Password Store”.

  • --schema=name,-Dname

    The default schema to use.

  • --server-public-key-path=file_name

    MySQL Shell equivalent of--server-public-key-path.

    If--server-public-key-path=file_name is given and specifies a valid public key file, it takes precedence over--get-server-public-key.

    Important

    Only supported with classic MySQL protocol connections.

    Seecaching_sha2_password pluginCaching SHA-2 Pluggable Authentication.

  • --show-warnings={true|false}

    When true is specified, which is the default, in SQL mode, MySQL Shell displays warnings after each SQL statement if there are any. If false is specified, warning are not displayed.

  • --socket[=path],-S[path]

    On Unix, when a path is specified, the path is the name of the Unix socket file to use for the connection. If you specify--socket with no value and no equal sign, or-S without a value, the default Unix socket file for the appropriate protocol is used.

    On Windows, the path is the name of the named pipe to use for the connection. The pipe name is not case-sensitive. On Windows, you must specify a path, and the--socket option is available for classic MySQL protocol sessions only.

    You cannot specify a socket if you specify a port or a host name other thanlocalhost on Unix or a period (.) on Windows.

  • --sql

    Start in SQL mode, auto-detecting the protocol to use if it is not specified as part of the connection information. When the protocol to use is not specified, defaults to an X Protocol connection, falling back to a classic MySQL protocol connection. To force a connection to use a specific protocol see the--sqlx or--sqlc options. Alternatively, specify a protocol to use as part of a URI-like connection string or use the--port option. SeeSection 4.3, “MySQL Shell Connections” andMySQL Shell Ports. for more information.

  • --sqlc

    Start in SQL mode forcing the connection to use classic MySQL protocol, for example to use MySQL Shell with a server that does not support X Protocol. If you do not specify the port as part of the connection, when you provide this option MySQL Shell uses the default classic MySQL protocol port which is usually 3306. The port you are connecting to must support classic MySQL protocol, so for example if the connection you specify uses the X Protocol default port 33060, the connection fails with an error. SeeSection 4.3, “MySQL Shell Connections” andMySQL Shell Ports. for more information.

  • --sqlx

    Start in SQL mode forcing the connection to use X Protocol. If you do not specify the port as part of the connection, when you provide this option MySQL Shell uses the default X Protocol port which is usually 33060. The port you are connecting to must support X Protocol, so for example if the connection you specify uses the classic MySQL protocol default port 3306, the connection fails with an error. SeeSection 4.3, “MySQL Shell Connections” andMySQL Shell Ports. for more information.

  • --ssh=str

    Create an SSH tunnel that provides an encrypted connection to the MySQL server instance. Supply the URI for connection to the SSH server in the format[user@]host[:port], for example:

    --ssh root@198.51.100.4:2222

    When you use this option, you must also specify the--user,--host, and--port options, or a URI, for connection to the MySQL server instance. For information on SSH tunnel connections from MySQL Shell, seeSection 4.3.7, “Using an SSH Tunnel”.

  • --ssh-config-file=path

    Specify the path to an SSH configuration file for the connection to the SSH server. You can use the MySQL Shell configuration optionssh.configFile to set a custom file as the default if this option is not specified. Ifssh.configFile has not been set, the default is the standard SSH configuration file~/.ssh/config. If you specify--ssh-config-file with an empty value, the default file specified byssh.configFile is ignored, and the~/.ssh/config file is used instead.

  • --ssh-identity-file=path

    Specify the path to an identity file for the connection to the SSH server. The default if this option is not specified is the standard private key file in the SSH configuration folder (~/.ssh/id_rsa).

  • --ssl*

    Options that begin with--ssl specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates. Themysqlsh SSL options function in the same way as the SSL options for MySQL Server, seeCommand Options for Encrypted Connections for more information.

    mysqlsh accepts these SSL options:--ssl-mode,--ssl-ca,--ssl-capath,--ssl-cert,--ssl-cipher,--ssl-crl,--ssl-crlpath,--ssl-key,--tls-version,--tls-ciphersuites.

  • --syslog

    Send SQL statements that you issue in MySQL Shell’s SQL mode to the operating system’s system logging facility (syslog on Unix, or the Windows Event Log). System logging for SQL statements only takes place when MySQL Shell is started in interactive mode, so either a normal start or a start with the--interactive option. It does not take place if the--execute or--file options are used at startup to runmysqlsh in batch mode. SeeSection 13.3, “System Logging for User SQL Statements” for more information.

  • --tabbed

    Display results in tab separated format in interactive mode. The default for that mode is table format. This option is an alias of the--result-format=tabbed option.

  • --table

    Display results in table format in batch mode. The default for that mode is tab separated format. This option is an alias of the--result-format=table option.

  • --uri=str

    Create a connection upon startup, specifying the connection options in a URI-like string as described atConnecting to the Server Using URI-Like Strings or Key-Value Pairs.

  • --user=user_name,-uuser_name

    The MySQL user name to use when connecting to the server.

  • --verbose[=0|1|2|3|4]

    Activate verbose output to the console and specify the level of detail. The value is an integer in the range from 0 to 4. 0 displays no messages, which is the default verbosity setting when you do not specify the option. 1 displays error, warning and informational messages (this is the default setting if you specify the option on the command line without a value). 2, 3, and 4 add higher levels of debug messages. SeeChapter 13,MySQL Shell Logging and Debug for more information.

  • --version,-V

    Display the version of MySQL Shell and exit.

  • --vertical,-E

    Display results vertically, as when the\G terminator is used for an SQL query. This option is an alias of the--result-format=vertical option.


PREV   HOME   UP