连接到服务器的命令选项:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第99行: | 第99行: | ||
| Windows | | Windows | ||
|} | |} | ||
====--shared-memory-base-name=name==== | |||
在Windows上,使用共享内存连接到本地服务器时要使用的共享内存名称。默认值为MYSQL。共享内存名称区分大小写。 | |||
只有在启用了shared_memory系统变量以支持共享内存连接的情况下,此选项才适用。 | |||
====--socket=path, -S path==== | |||
在Unix上,用于通过命名管道连接到本地服务器的Unix套接字文件的名称。默认的Unix套接字文件名为/tmp/mysql.sock。 | |||
在Windows上,用于连接到本地服务器的命名管道的名称。默认的Windows管道名称为MySQL。管道名称不区分大小写。 | |||
只有在启用了named_pipe系统变量以支持命名管道连接的情况下,此选项才适用于Windows。此外,进行连接的用户必须是由named_pipe_full_access_group系统变量指定的Windows组的成员。 | |||
====--user=user_name, -u user_name==== | |||
用于连接到服务器的MySQL帐户的用户名。默认用户名为Windows上的ODBC,Unix上的登录名。 | |||
===加密连接的命令选项=== | |||
本节介绍了客户端程序的选项,用于指定是否使用加密连接到服务器,证书和密钥文件的名称以及与加密连接支持相关的其他参数。 | |||
注意 | |||
这些选项仅对使用受加密协议传输的连接(即TCP/IP和Unix套接字文件连接)产生影响。 | |||
====--get-server-public-key==== | |||
从服务器请求用于RSA密钥对密码交换所需的公钥。此选项适用于使用caching_sha2_password身份验证插件进行身份验证的客户端。对于该插件,除非请求,否则服务器不会发送公钥。对于不使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换(例如客户端使用安全连接连接到服务器时),也会被忽略。 | |||
如果给出了--server-public-key-path=file_name并指定了有效的公钥文件,则优先于--get-server-public-key。 | |||
====--server-public-key-path=file_name==== | |||
以PEM格式包含服务器所需的公钥的文件的路径名。此选项适用于使用sha256_password或caching_sha2_password身份验证插件进行身份验证的客户端。对于不使用这些插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换(例如客户端使用安全连接连接到服务器时),也会被忽略。 | |||
如果给出了--server-public-key-path=file_name并指定了有效的公钥文件,则优先于--get-server-public-key。 | |||
只有在使用OpenSSL构建MySQL时才可用此选项。 | |||
====--ssl-ca=file_name==== | |||
以PEM格式包含证书授权机构(CA)证书文件的路径名。该文件包含一系列可信任的SSL证书颁发机构。 | |||
当与服务器建立加密连接时,如果不指定--ssl-ca或--ssl-capath,则告知客户端不要对服务器证书进行身份验证。服务器仍然根据客户端帐户的任何适用要求对客户端进行验证,并且仍然使用在服务器端指定的任何ssl_ca或ssl_capath系统变量值。 | |||
要为服务器指定CA文件,请设置ssl_ca系统变量。 | |||
====--ssl-capath=dir_name==== | |||
包含以PEM格式的可信任SSL证书颁发机构(CA)证书文件的目录的路径名。 | |||
当与服务器建立加密连接时,如果不指定--ssl-ca或--ssl-capath,则告知客户端不要对服务器证书进行身份验证。服务器仍然根据客户端帐户的任何适用要求对客户端进行验证,并且仍然使用在服务器端指定的任何ssl_ca或ssl_capath系统变量值。 | |||
要为服务器指定CA目录,请设置ssl_capath系统变量。 | |||
====--ssl-cert=file_name==== | |||
以PEM格式包含客户端SSL公钥证书文件的路径名。 | |||
要指定服务器SSL公钥证书文件,请设置ssl_cert系统变量。 | |||
注意 | |||
链式SSL证书支持从v8.0.30开始添加;以前只读取第一个证书。 | |||
====--ssl-cipher=cipher_list==== | |||
用于使用TLS协议直至TLSv1.2的连接的可允许加密密码列表。如果列表中没有支持的密码,使用这些TLS协议的加密连接将无法工作。 | |||
为了最大的可移植性,cipher_list应该是一个由一个或多个密码名称组成的列表,用冒号分隔。例如: | |||
--ssl-cipher=AES128-SHA | |||
--ssl-cipher=DHE-RSA-AES128-GCM-SHA256:AES128-SHA | |||
OpenSSL支持在OpenSSL文档(https://www.openssl.org/docs/manmaster/man1/ciphers.html)中描述的指定密码的语法。 | |||
要为服务器指定加密密码,请设置ssl_cipher系统变量。 | |||
====--ssl-crl=file_name==== | |||
以PEM格式包含证书吊销列表的文件的路径名。 | |||
如果未给出--ssl-crl或--ssl-crlpath,则不执行CRL检查,即使CA路径包含证书吊销列表。 | |||
要为服务器指定吊销列表文件,请设置ssl_crl系统变量。 | |||
====--ssl-crlpath=dir_name==== | |||
包含以PEM格式的证书吊销列表文件的目录的路径名。 | |||
如果未给出--ssl-crl或--ssl-crlpath,则不执行CRL检查,即使CA路径包含证书吊销列表。 | |||
要为服务器指定吊销列表目录,请设置ssl_crlpath系统变量。 | |||
====--ssl-fips-mode={OFF|ON|STRICT}==== | |||
控制是否在客户端上启用FIPS模式。--ssl-fips-mode选项与其他--ssl-xxx选项不同,它不用于建立加密连接,而是用于影响允许的加密操作。 | |||
允许使用以下--ssl-fips-mode值: | |||
*OFF:禁用FIPS模式。 | |||
*ON:启用FIPS模式。 | |||
*STRICT:启用“严格”FIPS模式。 | |||
注意 | |||
如果未安装OpenSSL FIPS对象模块,则--ssl-fips-mode的唯一允许值为OFF。在这种情况下,将--ssl-fips-mode设置为ON或STRICT会导致客户端在启动时产生警告并以非FIPS模式运行。 | |||
要为服务器指定FIPS模式,请设置ssl_fips_mode系统变量。 |
2023年7月3日 (一) 07:04的版本
本节介绍了大多数MySQL客户端程序支持的选项,用于控制客户端程序如何建立与服务器的连接,连接是否加密以及连接是否压缩。这些选项可以在命令行或选项文件中指定。
连接建立的命令选项
本节介绍了控制客户端程序如何建立与服务器的连接的选项。
--default-auth=plugin
一个关于使用哪个客户端身份验证插件的提示。
--host=host_name, -h host_name
MySQL服务器所在的主机。该值可以是主机名、IPv4地址或IPv6地址。默认值是localhost。
--password[=pass_val], -p[pass_val]
用于连接到服务器的MySQL账户的密码。密码值是可选的。如果没有提供,客户端程序会提示输入密码。如果提供了密码,则--password=或-p后面不能有空格。如果未指定密码选项,则默认发送无密码。
在命令行上指定密码应被视为不安全。为了避免在命令行上输入密码,请使用选项文件。
为了明确指定没有密码,并且客户端程序不应提示输入密码,请使用--skip-password选项。
--password1[=pass_val]
用于连接到服务器的MySQL账户的多因素身份验证因素1的密码。密码值是可选的。如果没有提供,客户端程序会提示输入密码。如果提供了密码,则--password1=后面不能有空格。如果未指定密码选项,则默认发送无密码。
在命令行上指定密码应被视为不安全。为了避免在命令行上输入密码,请使用选项文件。
为了明确指定没有密码,并且客户端程序不应提示输入密码,请使用--skip-password1选项。
--password1和--password是同义词,--skip-password1和--skip-password也是同义词。
--password2[=pass_val]
用于连接到服务器的MySQL账户的多因素身份验证因素2的密码。该选项的语义与--password1的语义类似;请参阅该选项的描述以获取详细信息。
--password3[=pass_val]
用于连接到服务器的MySQL账户的多因素身份验证因素3的密码。该选项的语义与--password1的语义类似;请参阅该选项的描述以获取详细信息。
--pipe, -W
在Windows上,使用命名管道连接到服务器。此选项仅适用于启用了named_pipe系统变量以支持命名管道连接的服务器。此外,进行连接的用户必须是由named_pipe_full_access_group系统变量指定的Windows组的成员。
--plugin-dir=dir_name
查找插件的目录。如果使用--default-auth选项指定了身份验证插件但客户端程序找不到它,请指定此选项。
--port=port_num, -P port_num
对于TCP/IP连接,要使用的端口号。默认端口号是3306。
--protocol={TCP|SOCKET|PIPE|MEMORY}
此选项明确指定用于连接到服务器的传输协议。当其他连接参数通常导致使用不同于所需协议的协议时,这将很有用。例如,默认情况下,在Unix上连接到localhost时会使用Unix套接字文件:
mysql --host=localhost
要强制使用TCP/IP传输,可以指定--protocol选项:
mysql --host=localhost --protocol=TCP
以下表显示了允许的--protocol选项值,并指示每个值适用的平台。这些值不区分大小写。
--protocol Value | Transport Protocol Used | Applicable Platforms |
TCP | TCP/IP transport to local or remote server | All |
SOCKET | Unix socket-file transport to local server | Unix and Unix-like systems |
PIPE | Named-pipe transport to local server | Windows |
MEMORY | Shared-memory transport to local server | Windows |
在Windows上,使用共享内存连接到本地服务器时要使用的共享内存名称。默认值为MYSQL。共享内存名称区分大小写。
只有在启用了shared_memory系统变量以支持共享内存连接的情况下,此选项才适用。
--socket=path, -S path
在Unix上,用于通过命名管道连接到本地服务器的Unix套接字文件的名称。默认的Unix套接字文件名为/tmp/mysql.sock。
在Windows上,用于连接到本地服务器的命名管道的名称。默认的Windows管道名称为MySQL。管道名称不区分大小写。
只有在启用了named_pipe系统变量以支持命名管道连接的情况下,此选项才适用于Windows。此外,进行连接的用户必须是由named_pipe_full_access_group系统变量指定的Windows组的成员。
--user=user_name, -u user_name
用于连接到服务器的MySQL帐户的用户名。默认用户名为Windows上的ODBC,Unix上的登录名。
加密连接的命令选项
本节介绍了客户端程序的选项,用于指定是否使用加密连接到服务器,证书和密钥文件的名称以及与加密连接支持相关的其他参数。
注意 这些选项仅对使用受加密协议传输的连接(即TCP/IP和Unix套接字文件连接)产生影响。
--get-server-public-key
从服务器请求用于RSA密钥对密码交换所需的公钥。此选项适用于使用caching_sha2_password身份验证插件进行身份验证的客户端。对于该插件,除非请求,否则服务器不会发送公钥。对于不使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换(例如客户端使用安全连接连接到服务器时),也会被忽略。
如果给出了--server-public-key-path=file_name并指定了有效的公钥文件,则优先于--get-server-public-key。
--server-public-key-path=file_name
以PEM格式包含服务器所需的公钥的文件的路径名。此选项适用于使用sha256_password或caching_sha2_password身份验证插件进行身份验证的客户端。对于不使用这些插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换(例如客户端使用安全连接连接到服务器时),也会被忽略。
如果给出了--server-public-key-path=file_name并指定了有效的公钥文件,则优先于--get-server-public-key。
只有在使用OpenSSL构建MySQL时才可用此选项。
--ssl-ca=file_name
以PEM格式包含证书授权机构(CA)证书文件的路径名。该文件包含一系列可信任的SSL证书颁发机构。
当与服务器建立加密连接时,如果不指定--ssl-ca或--ssl-capath,则告知客户端不要对服务器证书进行身份验证。服务器仍然根据客户端帐户的任何适用要求对客户端进行验证,并且仍然使用在服务器端指定的任何ssl_ca或ssl_capath系统变量值。
要为服务器指定CA文件,请设置ssl_ca系统变量。
--ssl-capath=dir_name
包含以PEM格式的可信任SSL证书颁发机构(CA)证书文件的目录的路径名。
当与服务器建立加密连接时,如果不指定--ssl-ca或--ssl-capath,则告知客户端不要对服务器证书进行身份验证。服务器仍然根据客户端帐户的任何适用要求对客户端进行验证,并且仍然使用在服务器端指定的任何ssl_ca或ssl_capath系统变量值。
要为服务器指定CA目录,请设置ssl_capath系统变量。
--ssl-cert=file_name
以PEM格式包含客户端SSL公钥证书文件的路径名。
要指定服务器SSL公钥证书文件,请设置ssl_cert系统变量。
注意 链式SSL证书支持从v8.0.30开始添加;以前只读取第一个证书。
--ssl-cipher=cipher_list
用于使用TLS协议直至TLSv1.2的连接的可允许加密密码列表。如果列表中没有支持的密码,使用这些TLS协议的加密连接将无法工作。
为了最大的可移植性,cipher_list应该是一个由一个或多个密码名称组成的列表,用冒号分隔。例如:
--ssl-cipher=AES128-SHA --ssl-cipher=DHE-RSA-AES128-GCM-SHA256:AES128-SHA
OpenSSL支持在OpenSSL文档(https://www.openssl.org/docs/manmaster/man1/ciphers.html)中描述的指定密码的语法。
要为服务器指定加密密码,请设置ssl_cipher系统变量。
--ssl-crl=file_name
以PEM格式包含证书吊销列表的文件的路径名。
如果未给出--ssl-crl或--ssl-crlpath,则不执行CRL检查,即使CA路径包含证书吊销列表。
要为服务器指定吊销列表文件,请设置ssl_crl系统变量。
--ssl-crlpath=dir_name
包含以PEM格式的证书吊销列表文件的目录的路径名。
如果未给出--ssl-crl或--ssl-crlpath,则不执行CRL检查,即使CA路径包含证书吊销列表。
要为服务器指定吊销列表目录,请设置ssl_crlpath系统变量。
--ssl-fips-mode={OFF|ON|STRICT}
控制是否在客户端上启用FIPS模式。--ssl-fips-mode选项与其他--ssl-xxx选项不同,它不用于建立加密连接,而是用于影响允许的加密操作。
允许使用以下--ssl-fips-mode值:
- OFF:禁用FIPS模式。
- ON:启用FIPS模式。
- STRICT:启用“严格”FIPS模式。
注意 如果未安装OpenSSL FIPS对象模块,则--ssl-fips-mode的唯一允许值为OFF。在这种情况下,将--ssl-fips-mode设置为ON或STRICT会导致客户端在启动时产生警告并以非FIPS模式运行。
要为服务器指定FIPS模式,请设置ssl_fips_mode系统变量。