10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 本手册下载
PDF (Ltr)- 41.2 mb
PDF (A4)- 41.3 mb
PDF (RPM)- 39.5 mb
HTML下载(TGZ)- 9.3 mb
HTML下载(邮政编码)- 9.3 mb
HTML下载(RPM)- 7.8 mb
手册页(TGZ)- 260.6 kb
男人页(zip)- 371.8KB.
信息(GZIP)- 4.0MB.
信息(zip)- 4.0MB.
本手册摘录

MySQL 8.0参考手册/.../ 连接服务器的命令选项

4.2.3连接服务器命令选项

本节介绍大多数MySQL客户端程序支持的选项,这些选项控制客户端程序如何建立到服务器的连接,连接是否加密,连接是否压缩。这些选项可以在命令行或选项文件中给出。

  • 连接建立命令选项

    本节描述控制客户端程序如何建立到服务器的连接的选项。有关展示如何使用它们的其他信息和示例,请参阅

    表4.3连接建立选项汇总

    选项名称 描述
    ——default-auth 使用的身份验证插件
    ——主机 主机位于mysql服务器上
    - 密码 连接到服务器时要使用的密码
    ——管 使用命名管道连接到服务器(仅适用于Windows)
    ——plugin-dir 安装插件的目录
    - 港口 连接的TCP/IP端口号
    - 协议 运输协议使用
    ——shared-memory-base-name 共享内存连接的共享内存名称(仅限Windows)
    ——套接字 UNIX套接字文件或Windows命名为Pipe使用
    ——用户 连接到服务器时使用的MySQL用户名

  • - default-auth =插件

    关于使用哪个客户端身份验证插件的提示。看到

    ——主机=host_name- hhost_name

    MySQL服务器运行的主机。取值为主机名、IPv4地址或IPv6地址。默认值为本地主机

  • ——密码(=pass_val.- p (pass_val.

    连接服务器使用的MySQL帐号的密码。密码为可选参数。如果没有给出,程序将提示输入一个。如果给予,就一定有没有空间之间的——密码=- p还有密码。如果不指定密码选项,默认是不发送密码。

    在命令行上指定密码应该被认为是不安全的。要避免在命令行上给出密码,请使用选项文件。看到——skip-password选择。

  • ——管-W.

    在Windows上,使用命名管道连接到服务器。此选项仅在服务器以named_pipe.启用系统变量以支持命名管道连接。此外,使连接必须是由此指定的Windows组的成员named_pipe_full_access_group系统变量。

  • ——plugin-dir =dir_name

    在其中寻找插件的目录。,则指定此选项——default-auth选项用于指定身份验证插件,但客户端程序没有找到它。看到

    - 口交=port_num.-P.port_num.

    对于TCP/IP连接,要使用的端口号。默认端口号为3306。

  • ——协议= {TCP套接字| | |内存管}

    此选项显式指定连接到服务器时使用的传输协议。当其他连接参数通常导致使用一个协议而不是您想要的协议时,它是有用的。例如,Unix上连接到本地主机默认情况下使用Unix套接字文件:

    mysql——主机= localhost

    要强制使用TCP / IP传输,请指定a- 协议选择:

    mysql——主机= localhost = TCP协议

    下表显示了允许的- 协议选项值并指示每个值的适用平台。值不区分大小写。

    - 协议价值 传输协议使用 适用的平台
    TCP TCP / IP传输到本地或远程服务器 全部
    插座 到本地服务器的Unix套接字文件传输 Unix和类Unix系统
    管道 到本地服务器的命名管道传输 视窗
    内存 到本地服务器的共享内存传输 视窗

    另请参阅

    ——shared-memory-base-name =的名字

    在Windows上,用于使用共享内存与本地服务器建立连接的共享内存名称。默认值为mysql..共享内存名称区分大小写。

    此选项仅在服务器以shared_memory支持共享内存连接的系统变量。

  • ——套接字=路径-路径

    在UNIX上,UNIX套接字文件的名称用于使用命名管道到本地服务器的连接。默认的UNIX套接字文件名称是/ tmp / mysql.sock

    在Windows上,用于连接到本地服务器的已命名管道的名称。默认的Windows管道名称是MySQL.管道名称不区分大小写。

    在Windows上,仅当服务器以named_pipe.启用系统变量以支持命名管道连接。此外,使连接必须是由此指定的Windows组的成员named_pipe_full_access_group系统变量。

  • ——用户=user_name- uuser_name

    MySQL帐户的用户名用于连接到服务器。默认用户名是ODBC.在unix上的Windows或UNIX登录名上。

加密连接命令选项

本节介绍客户端程序的选项,这些选项指定是否使用到服务器的加密连接、证书和密钥文件的名称以及与加密连接支持相关的其他参数。有关建议使用的示例以及如何检查连接是否加密,请参见

这些选项仅对使用加密传输协议的连接有效;即TCP/IP和Unix套接字文件连接。看到加密连接支持

表4.4连接加密选项摘要

选项名称 描述 介绍
——get-server-public-key 向服务器请求RSA公钥
——server-public-key-path 包含RSA公钥的文件的路径名
——ssl-ca 包含受信任SSL证书颁发机构列表的文件
——ssl-capath 包含受信任的SSL证书颁发机构证书文件的目录
——ssl-cert 包含X.509证书的文件
——ssl cipher 允许的密码用于连接加密
——ssl-crl 包含证书撤销列表的文件
——ssl-crlpath 包含证书撤销列表文件的目录
——ssl-fips-mode 是否在客户端启用FIPS模式
--ssl-key. 包含X.509密钥的文件
——ssl-mode 到服务器的所需安全状态
- TLS-CIPHESUITES. 允许用于加密连接的TLSv1.3加密套件 8.0.16
——tls版本 允许用于加密连接的TLS协议

  • ——get-server-public-key

    向服务器请求RSA密钥对密码交换所需的公钥。属性进行身份验证的客户端可使用此选项caching_sha2_password身份验证插件。对于该插件,服务器不会发送公钥,除非请求。对于未使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于rsa的密码交换,它也会被忽略,比如当客户端使用安全连接连接到服务器时。

    如果--server-public-keat-path =file_name给定并指定一个有效的公钥文件,它优先于——get-server-public-key

    有关caching_sha2_password插件,参见

    --server-public-keat-path =file_name

    PEM格式文件的路径名,其中包含服务器为RSA密钥对密码交换所需要的公钥的客户端副本。属性进行身份验证的客户端可使用此选项SHA256_PASSWORD.caching_sha2_password身份验证插件。对于没有使用这些插件之一进行身份验证的帐户,此选项将被忽略。如果不使用基于rsa的密码交换,它也会被忽略,比如当客户端使用安全连接连接到服务器时。

    如果--server-public-keat-path =file_name给定并指定一个有效的公钥文件,它优先于——get-server-public-key

    只有使用OpenSSL构建MySQL时,这个选项才可用。

    有关SHA256_PASSWORD.caching_sha2_password插件,看到

    ——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 cipher =cipher_list

    使用TLSv1.2以上TLS协议的连接允许的加密密码列表。如果列表中不支持任何密码,则使用这些TLS协议的加密连接将无法工作。

    最大的可移植性,cipher_list应该是一个由一个或多个密码名组成的列表,用冒号分隔。例子:

    ——ssl cipher = AES128-SHA ssl cipher = DHE-RSA-AES128-GCM-SHA256: AES128-SHA

    OpenSSL支持在OpenSSL文档中描述的指定密码的语法10bet官方网站https://www.openssl.org/docs/manmaster/man1/ciphers.html

    有关MySQL支持的加密密码的信息,请参见ssl_cipher系统变量。

  • ——ssl-crl =file_name

    包含PEM格式证书撤销列表的文件路径名。

    如果既不——ssl-crl也不——ssl-crlpath给出,即使CA路径包含证书撤销列表,也没有执行CRL检查。

    为服务器指定撤销列表文件,请设置ssl_cl.系统变量。

  • ——ssl-crlpath =dir_name

    PEM格式证书撤销列表文件所在目录的路径名。

    如果既不——ssl-crl也不——ssl-crlpath给出,即使CA路径包含证书撤销列表,也没有执行CRL检查。

    若要指定服务器的撤销列表目录,请设置ssl_crlpath系统变量。

  • 严格——ssl-fips-mode ={了| |}

    控制是否在客户端启用FIPS模式。的——ssl-fips-modeOption区别于其他——sslXXX.选项,它不用于建立加密连接,而是用于影响允许哪些加密操作。看到——ssl-fips-mode值是允许的:

    • 离开:关闭FIPS模式。

    • :启用FIPS模式。

    • 严格的: 使能够严格的FIPS模式。

    请注意

    如果OpenSSL FIPS对象模块不可用,则允许的唯一值——ssl-fips-mode离开.在本例中,设置——ssl-fips-mode严格的导致客户端在启动时产生警告,并以非fips模式运行。

    如果要指定服务器的FIPS模式,请设置ssl_fips_mode系统变量。

  • ——ssl密钥=file_name

    PEM格式的客户端SSL私钥文件路径。为提高安全性,建议使用RSA密钥长度大于等于2048位的证书。

    如果密钥文件由密码保护保护,则客户端程序会提示用户进行密码。密码必须交互方式;它无法存储在文件中。如果密码短语不正确,则程序将继续似乎无法读取密钥。

    若要指定服务器SSL私钥文件,请设置ssl_key系统变量。

  • ——ssl-mode =模式

    此选项指定到服务器的连接所需的安全状态。这些模式值是允许的,按严格程度递增排列:

    • 禁用:建立未加密的联系。

    • 首选:如果服务器支持加密连接,则建立加密连接;如果无法建立加密连接,则退回到未加密连接。这是默认的if——ssl-mode没有指定。

      通过Unix套接字文件的连接不使用模式进行加密首选.要对Unix套接字文件连接执行加密,请使用要求或者更严格。(但是,套接字文件传输在默认情况下是安全的,因此加密套接字文件连接并不会提高安全性,还会增加CPU负载。)

    • 要求:如果服务器支持加密连接,则选择加密连接。如果无法建立加密连接,则连接尝试将失败。

    • 验证_ca.:就像要求,但还要根据配置的CA证书验证服务器证书颁发机构(CA)证书。如果没有找到有效的匹配的CA证书,则连接尝试失败。

    • VERIFY_IDENTITY:就像验证_ca.,但另外执行主机名身份验证,检查客户端连接到服务器使用的主机名与服务器发送给客户端的证书中的身份:

      • 从MySQL 8.0.12开始,如果客户端使用OpenSSL 1.0.2或更高版本,客户端将检查它用于连接的主机名是否匹配服务器证书中的Subject Alternative name值或Common name值。主机名标识验证也适用于使用通配符指定通用名的证书。

      • 否则,客户端将检查用于连接的主机名是否与服务器证书中的Common name值匹配。

      如果存在不匹配,则连接失败。对于加密连接,此选项有助于防止中间人攻击。

      请注意

      主机名身份验证VERIFY_IDENTITY不能使用由服务器自动创建或手动使用的自签名证书mysql_ssl_rsa_setup(见——ssl-mode选项与CA证书选项交互如下:

      要要求MySQL帐户使用加密连接,请使用创建用户用一个创建帐户要求SSL.条款,或使用改变用户用于添加一个现有帐户要求SSL.条款。这将导致使用该帐户的客户端连接尝试被拒绝,除非MySQL支持加密连接,并且可以建立加密连接。

      要求子句允许使用其他与加密相关的选项,这些选项可用于执行比要求SSL..有关哪些命令选项可以或必须由使用各种配置的帐户连接的客户端指定的附加细节要求选项,参见

      ——tls-ciphersuites =ciphersuite_list

      此选项指定客户端允许使用TLSv1.3的加密连接使用哪些加密套件。该值是一个由0个或多个以冒号分隔的密文套件名称组成的列表。例如:

      mysql——tls-ciphersuites = "suite1suite2suite3

      可以为此选项命名的CIPhersuites依赖于用于编译MySQL的SSL库。如果未设置此选项,则客户端允许默认的CIPhersuites集。如果该选项设置为空字符串,则不启用CIPherSuites并无法建立加密连接。有关更多信息,请参阅tls_ciphersuites系统变量。

    • ——tls =protocol_list

      此选项指定客户端允许加密连接使用的TLS协议。一个或多个以逗号分隔的协议版本列表。例如:

      mysql --tls-version =“tlsv1.1,tlsv1.2”

      该选项可以命名的协议依赖于用于编译MySQL的SSL库。应该选择允许的协议,比如不离开在列表中。例如,这些值没有空洞:

      --tls-version =“tlsv1,tlsv1.1,tlsv1.2,tlsv1.3”--tls-version =“tlsv1.1,tlsv1.2,tlsv1.3”--tls-version =“tlsv1.2,tlsv1.3“--tls-version =”tlsv1.3“

      这些值确实有孔,不应使用:

      ——tls = " TLSv1, TLSv1.2”——tls =“TLSv1.1, TLSv1.3”

      有关详细信息,请参见tls_version系统变量。

连接压缩的命令选项

本节介绍启用客户端程序以控制对服务器连接使用压缩的选项。有关展示如何使用它们的其他信息和示例,请参阅

表4.5连接 - 压缩选项摘要

选项名称 描述 介绍 弃用
——压缩 压缩客户端和服务器之间发送的所有信息 8.0.18
——压缩算法 服务器连接允许的压缩算法 8.0.18
——zstd-compression-level 到使用zstd压缩的服务器的连接的压缩级别 8.0.18

  • ——压缩-C

    尽可能压缩客户端和服务器之间发送的所有信息。

    从MySQL 8.0.18开始,这个选项已被弃用。预计它将在MySQL的未来版本中被删除。看到

    --compression-algorithms =价值

    允许的压缩算法用于与服务器的连接。可用的算法与该算法相同protocol_compression_algorithms系统变量。默认值为未压缩的

    这个选项是在MySQL 8.0.18中添加的。

  • --zstd-compression-level =等级

    的服务器连接所使用的压缩级别zstd压缩算法。允许的级别从1到22,越大的值表示压缩级别越高。默认的zstd压缩级别为3。压缩级别设置对不使用的连接没有影响zstd压缩。

    这个选项是在MySQL 8.0.18中添加的。