MySQL中的客户端选项(二)

news2024/12/27 11:09:31

在全局选项文件之后读取此选项文件,但(在Unix上)在用户选项文件之前读取。如果文件不存在或无法访问,则会发生错误。如果file_name不是绝对路径名,则会相对于当前目录进行解释。

仅使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。如果file_name不是绝对路径名,则会相对于当前目录进行解释。

异常:即使使用--defaults文件,客户端程序也会读取.mylogin.cnf。

不仅读取常用的选项组,还读取具有常用名称和后缀str的组。例如,mysql通常读取[client]和[mysql]组。如果这个选项被指定为--defaults group后缀=_other,mysql还会读取[client_other]和[mysql_other]组。

设置语句分隔符。默认值为分号字符(;)。

--disable-named-commands

禁用命名命令。仅使用\*格式,或仅在以分号(;)结尾的行的开头使用命名命令。mysql启动时默认启用此选项。但是,即使使用此选项,长格式命令仍然可以从第一行开始工作。

在MySQL连接中,DNS SRV(Service)记录可以被用来确定连接到MySQL服务器的候选主机。SRV记录是DNS记录的一种,它提供了一种方式来指定服务的位置,包括主机名、端口号以及优先级和权重。

假设example.com域配置了以下DNS SRV记录,用于确定连接到MySQL服务器的候选主机:

Name                     TTL   Class   Priority Weight Port Target
_mysql._tcp.example.com. 86400 IN SRV  0        5      3306 host1.example.com
_mysql._tcp.example.com. 86400 IN SRV  0        10     3306 host2.example.com
_mysql._tcp.example.com. 86400 IN SRV  10       5      3306 host3.example.com
_mysql._tcp.example.com. 86400 IN SRV  20       5      3306 host4.example.com

要使用该DNS SRV记录,请如下调用mysql:

mysql --dns-srv-name=_mysql._tcp.example.com

mysql尝试连接到组中的每个服务器,直到建立成功的连接。只有当无法建立到任何服务器的连接时,才会发生连接失败。DNS SRV记录中的优先级和权重值决定了尝试服务器的顺序。

当使用--dns-srv名称调用时,mysql仅尝试建立TCP连接。

当同时指定了--dns-srv-name--host选项时,--dns-srv-name将优先使用。这意味着MySQL客户端将使用DNS SRV记录来确定要连接的服务器,而不是使用--host选项中指定的单个主机。

使用--dns-srv-name选项时,MySQL客户端将使用mysql_real_connect_dns_srv() C API函数来建立连接,而不是通常的mysql_real_connect()函数。mysql_real_connect_dns_srv()函数是专门为支持DNS SRV记录而设计的,它允许客户端根据SRV记录中的优先级和权重来解析和连接到多个服务器。

如果在运行时使用connect命令并指定了一个主机名参数,那么这个主机名将优先于在MySQL启动时通过--dns-srv-name选项指定的任何DNS SRV记录。

--dns-srv-name选项是在MySQL 8.0.22版本中引入的。因此,要使用此选项,您需要确保您的MySQL客户端库和/或命令行工具是8.0.22或更高版本。

启用mysql_clear_password明文身份验证插件。

执行该语句并退出。默认的输出格式类似于使用--batch生成的格式。

有了这个选项,mysql就不会使用历史文件。

从MySQL 8.0.35开始,此选项已被弃用,并将在未来的MySQL版本中删除。

必须执行FIDO设备注册的一个或多个因素。此选项值必须是一个值,或者是用逗号分隔的两个值。每个值必须是2或3,因此允许的选项值为“2”、“3”、“2,3”和“3,2”。

例如,一个账户需要注册第三个认证因素(通常称为“多因素认证”或“MFA”)来调用 MySQL 客户端时,如下所示:

mysql --user=user_name --fido-register-factor=3

如果一个账户需要注册第二个和第三个认证因素来连接MySQL客户端,如下所示:

mysql --user=user_name --fido-register-factor=2,3

如果注册成功,则建立连接。如果存在挂起注册的身份验证因素,则在尝试连接到服务器时,会将连接置于挂起注册模式。在这种情况下,断开连接并重新连接正确的--fido-register-factor 值以完成注册。

注册是一个两步过程,包括启动注册和完成注册步骤。启动注册步骤执行以下语句:

ALTER USER user factor INITIATE REGISTRATION

该语句返回一个,其中包含一个32字节的质询、用户名和依赖方ID(请参阅authentication_fido_rp_ID)。

完成注册步骤执行以下语句:

ALTER USER user factor FINISH REGISTRATION SET CHALLENGE_RESPONSE AS 'auth_string'

当注册流程完成时,客户端会发送一个auth_string到服务器,这个字符串通常包含以下信息:

  • Authenticator Data:包含验证器生成的公共信息的数据结构。

  • Attestation Certificate (Optional):可选的X.509格式的证书,用于证明FIDO认证器的真实性。

  • Signature:由FIDO认证器生成的签名,用于证明上述信息(特别是Authenticator Data)确实来自该设备,并且没有被篡改。

initiateregistration步骤需要在一个单一的客户端连接中完成。这是因为initiate步骤中服务器发送给客户端的挑战(challenge)信息会被保存在客户端的连接处理器中,而这个挑战信息在后续的registration步骤中是必需的。

如果在initiate步骤之后,用户尝试在一个不同的连接中执行registration步骤,那么由于新的连接中没有保存之前initiate步骤中的挑战信息,注册就会失败。

为了简化这个过程并避免这种失败情况,MySQL的客户端工提供了--fido-register-factor选项。使用这个选项,用户可以在一个单一的命令或操作中同时执行initiateregistration步骤,无需手动执行多个步骤或跨多个连接。

--fido register factor选项仅适用于mysql客户端和mysql Shell。其他MySQL客户端程序不支持它。

即使其中一个命令或查询出现错误,也能继续执行后续的操作,而不是立即终止整个进程。

从服务器请求基于RSA密钥对的密码交换所需的公钥。此选项适用于使用caching_sha2_password身份验证插件进行身份验证的客户端。对于该插件,除非请求,否则服务器不会发送公钥。对于未使用该插件进行身份验证的帐户,将忽略此选项。如果不使用基于RSA的密码交换,也会忽略它,就像客户端使用安全连接连接到服务器时的情况一样。

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

该选项允许用户指定一个或多个由冒号分隔的模式,用于在日志记录时忽略特定的语句。这些模式被添加到默认的模式列表中(通常包括"IDENTIFIED:PASSWORD"),后者用于在记录历史文件或系统日志(如果启用了--syslog选项)时忽略包含敏感信息的语句。

连接到给定主机上的MySQL服务器。

如果同时给定了--dns srv name选项和--host选项,则该选项优先于它们--dns-srv-name导致连接建立使用mysql_real_connect_dns_srv()C API函数,而不是mysql_real/connect()。但是,如果随后在运行时使用connect命令并指定主机名参数,则该主机名优先于在mysql启动时指定dns srv记录的任何--dns-srv名称选项。

生成HTML输出。

忽略函数名称后面的空格。

连接到服务器后要执行的单个SQL语句。如果启用了自动重新连接,则在重新连接发生后会再次执行该语句。

为错误写入行号。使用 --skip-line-numbers禁用此功能。

此选项影响LOAD DATA 操作的客户端侧LOCAL功能。LOAD DATA LOCAL语句允许用户从客户端机器上的文件中加载数据到MySQL服务器的表中。这个选项用于指定LOAD DATA LOCAL语句中命名的文件必须位于的目录。

关于--load-data-local-dir选项的效果,它取决于是否启用了LOCAL数据加载:

  • 如果LOCAL数据加载是启用的(默认在MySQL客户端库中启用,或者通过指定--local-infile[=1]来启用),那么--load-data-local-dir选项将被忽略。这意味着客户端可以从任何目录加载文件,而不受--load-data-local-dir指定的目录限制。

  • 如果LOCAL数据加载是禁用的(默认在MySQL客户端库中禁用,或者通过指定--local-infile=0来禁用),那么--load-data-local-dir选项将生效。这意味着客户端只能从--load-data-local-dir指定的目录中加载文件。如果尝试从其他目录加载文件,操作将会失败。

--load-data-local-dir选项适用时,它的值指定了本地数据文件必须位于的目录。这个目录路径名与要加载的文件的路径名之间的比较是区分大小写的,无论底层文件系统的大小写敏感性如何。

如果--load-data-local-dir选项的值是空字符串,那么它就没有指定任何目录,结果是不允许进行任何本地数据加载。

这意味着,如果你设置了--load-data-local-dir为某个具体的目录路径(例如/path/to/data),那么任何LOAD DATA LOCAL INFILE语句中指定的文件都必须位于这个目录下,并且文件路径的大小写必须与这个目录路径的大小写完全匹配。

为了明确禁用除了位于/my/local/data目录中的文件之外的本地数据加载,你可以这样调用mysql客户端:

mysql --local-infile=0 --load-data-local-dir=/my/local/data

当同时给出--local-infile--load-data-local-dir选项时,它们给出的顺序并不重要。重要的是这两个选项是否被正确设置以及MySQL服务器是否允许本地数据加载。

MySQL 8.0.21中添加了--load data local-dir选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1834649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HACH哈希紫外可见光分光光度计维修DR6000

DR3900可见分光光度计内置准双光束光学系统,自动校准波长,该可见光分光光度计预置200多个用户程序,几乎覆盖常规水质参数,彩色触屏搭载中文操作界面,可自动分析检测并存储2000组实验数据,是一款测量准确的可…

《EDA技术》 Quartus图3—4实验报告

目录 一:结构描述方式 1.1创建工程 1.1.1点击New Project Wizard,创建t34工程。 1.1.2设置工程路径和名称(t34) 1.2设计门电路 1.2.1设计三输入或非门VHDL程序 1.2.2 设计非门VHDL程序 ​编辑 1.2.3 设计二输入或非门VHD…

ubuntu16因swap分区uuid错误启动慢排查

感觉ubuntu16启动特别慢 dmesg查看如下: [ 10.050123] audit: type1400 audit(1718608189.395:11): apparmor"STATUS" operation"profile_load" profile"unconfined" name"webbrowser-app//oxide_helper" pid708 comm&q…

【测试专题】系统测试报告(原件Word)

软件测试报告在软件开发过程中起着至关重要的作用,主要有以下几个主要原因: 1、确保软件质量 2、提供决策支持 3、记录测试过程和结果 4、促进沟通和协作 5、符合标准和法规要求 6、改进测试流程和策略 7、降低风险 软件开发全套资料获取进主页或者本文末…

查询Kafka集群中消费组(group)信息和对应topic的消费情况

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

一款超好用的国产 Redis 可视化工具,真香!

哈喽,大家好,我是黑板报君,一个资深的软件开发工程师,致力于为大家分享各领域优质开源项目,开发前沿技术以及互联网技术圈动态。 添加图片注释,不超过 140 字(可选) 日常开发过程中…

VBA学习(5):批量生成小饼图

之前给大家分享了如何用一个函数制作各种常见图表,之后有朋友问,下图中表示精确占比的饼图是怎么批量生成的? 批量生成小饼图有两种常用的方法,一种是用插件,比如Sparklines;另外一种是自己动手丰衣足食&am…

UDS诊断、ECU刷写、OTA升级、Tbox测试、CANoe实操

每天的直播时间: 周一至周五:20:00-23:00 周六与周日:9:00-12:00,14:00-17:00 TBOX 深圳 涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的?上…

位图法-有效的数独

有效的数独,主要是判断每行每列每宫有无重复元素。 每行每列用二重循环,每宫比较复杂,需要考虑每一宫的坐标与二重循环ij对应关系 行i,每一宫3行,3列 x3*(i/3)j/3 y3*(i%3)j%3

计算机考研|双非计算机专业是考研还是就业?主要看这一点!

去看一看招聘就知道了,看看公司需要的开发或者计算机岗位要求的东西你在本科的时候有没有精通的 如果你发现:哎?看着招聘的要求好像本科多少都接触过,但现在已经忘得差不多了,或者是,哦,我知道…

金蝶云星空程序员开发快速入门

文章目录 一 前言1.1 学习步骤1.2 学习需知 二、学习金蝶*云星空的步骤2.1 下载金蝶*云星空安装到本地2.2 查看官网的学习资料2.3 如何使用C#进行插件开发2.4 sqlserver的表设计以及存储过程2.5 如何使用python进行插件的开发2.6 第三方程序如何调用金蝶*云星空的数据 三 后记 …

移动硬盘数据恢复,6个亲测有效方法公开!

“我的移动硬盘已经用了很久了,最近不知道是怎么回事,里面有部分重要的数据居然不见了。想问问大家有什么方法可以恢复移动硬盘的数据吗?” 在数字时代的浪潮中,移动硬盘已成为我们存储和携带数据的重要工具。从海量的工作文档、珍…

在虚拟机中安装centos系统,及通过安装包安装jdk1.8,mysql5.7,redis7.2

在虚拟机中安装centos系统,及通过安装包安装jdk1.8,mysql5.7,redis7.2 第一章 CentOS7的下载1.1.使用阿里云开源镜像站下载。第二章 CentOS7的配置2.1.通过VMware 创建一个CentOS7虚拟机2.1.1.打开软件,点击如箭头所示按钮,创建虚拟机2.1.2.点击自定义,之后点击下一步2.1.3…

【触想智能】工业显示器定制时需要注意的重点问题

随着工业自动化的不断发展,工业显示器越来越重要。不同于普通的娱乐和商业应用,工业显示器需要更加耐用、可靠、安全,并且满足特定的工业环境和应用需求。 因此,仔细考虑和选择适合自己的工业显示器至关重要。本文将介绍一些您在进…

【YOLOv10改进[注意力]】使用注意力MLCA改进C2f + 含全部代码和详细修改方式 + 手撕结构图

本文将进行使用注意力MLCA改进C2f的实践,助力YOLOv10目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法。 改进前和改进后的参数对比: 目录 一 MLCA 二 使用注意力MLCA改进C2f 1 整体修改 2 配置文件

World Map Globe Edition 2

只需点击几下,World Political Map - Globe Edition 2就会在场景添加一个美丽且交互式的3D世界地图。将地球预制件拖动到场景中并自定义外观。 完整的资产,具有强大的可视化功能、示例和丰富的API,适用于构建VR、桌面和移动游戏和应用程序。 主要功能: - 在不访问互联网的情…

如何在前端应用程序中实现国际化(以英语为例)

如何在前端应用程序中实现国际化(以英语为例) 一、准备工作确定翻译需求:选择国际化库:创建语言文件: 二、实现步骤安装并引入国际化库:加载语言文件:在组件中使用翻译:实现语言切换…

对话华师大上海人工智能金融学院院长邵怡蕾:AI时代,人文见长的学校会非常有优势

金融,是关乎老百姓钱袋子的国民经济血脉,更是国家核心竞争力的重要组成部分。AI,是当之无愧最具「活力」的行业,也是千行百业革故鼎新的动力引擎。这两个对人类社会发展影响至深的行业,目前仍未展现出令人耳目一新的奇…

探索设计模式——单例模式详解

前言:设计模式的作用主要是为了——利用设计方式的重用来自动地提高代码的重新利用、提高代码的灵活性、节省时间, 提高开发效率、低耦合,封装特性显著, 接口预留有利于扩展。 设计模式的种类有很多种,本篇内容主要讲解…

AI绘画Stable Diffusion 保姆级教程,让AI人物轻松打光的种方法,我不允许你还不会!

大家好,我是画画的小强 我们常常听到这样的观点:光影,如同摄影的精髓,为图像赋予难以抗拒的质感和情感深度。 用AI生成的图片为什么总是觉得比较“假”,主要还是光影不足! 今天我将一一解析多种光影调控…