连接到服务器的命令选项:修订间差异

来自泡泡学习笔记
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第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


--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系统变量。