MySQL中的客户端选项(三)

默认情况下,LOAD DATA的LOCAL功能是否可用取决于MySQL客户端库在编译时是否启用了该功能。

  • 当只给出--local-infile(不带值)时,它启用LOCAL数据加载。
  • 当给出--local-infile=0时,它禁用LOCAL数据加载。
  • 当给出--local-infile=1时,它启用LOCAL数据加载(这与只给出--local-infile效果相同)。

如果LOCAL功能被禁用了(无论是通过默认设置还是通过--local-infile=0),但您仍然想从特定目录加载文件,可以使用--load-data-local-dir选项。这个选项允许您指定一个目录,只有这个目录中的文件才能被LOAD DATA LOCAL INFILE语句加载。

除了客户端设置外,LOAD DATA LOCAL INFILE的成功使用还要求MySQL服务器也允许本地数据加载。这通常在服务器的配置文件(如my.cnfmy.ini)的[mysqld]部分中设置,确保local-infile被设置为1

.mylogin.cnf 是一个用于存储 MySQL 登录路径(login paths)的配置文件。登录路径是一个选项组(option group),它包含用于指定连接到哪个 MySQL 服务器以及使用哪个账户进行身份验证的选项。

要创建或修改登录路径文件,请使用MySQL_config_editor实用程序。

用于客户端/服务器通信的缓冲区的最大值。默认值为16MB,最大值为1GB。

当使用--safe-updates选项时,该选项是为了防止你执行可能产生大量数据的操作,特别是那些没有WHERE子句或限制条件的DELETEUPDATE语句(默认值为1000000)。

启用命名的mysql命令。允许使用长格式命令,而不仅仅是短格式命令。例如,quit和\q都可以识别。使用skip-named-commands--​​​​skip-named-commands命名命令可以禁用命名命令。

TCP/IP和套接字通信的缓冲区大小(默认值为16KB。)

用于TCP/IP连接的网络命名空间。如果省略,连接将使用默认(全局)命名空间。

此选项是在MySQL 8.0.22中添加的。它仅在实现网络命名空间支持的平台上可用。

这与--skip auto-rehash具有相同的效果。

在发生错误时不发出蜂鸣声(beep sound)。

用于告诉工具不要读取任何默认选项文件。这通常包括在启动过程中会被考虑的默认配置文件,如 my.cnf(在Unix/Linux系统中)或 my.ini(在Windows系统中)。

如果程序启动失败是因为从某个选项文件中读取了未知选项,那么使用 --no-defaults 选项可以阻止程序读取这些默认选项文件。

例外情况是.mylogin.cnf文件在任何情况下都会被读取(如果存在的话)。这允许以比在命令行上更安全的方式指定密码,即使不使用默认值。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。

忽略除了在默认数据库与命令行上指定的数据库相同时执行的语句之外的所有语句

基于 USE 语句来过滤 SQL 语句的方法是非常基础的,并且应该谨慎使用。

当使用 mysql -u username -p db_name 命令连接到 MySQL 并指定了一个数据库 db_name 时,MySQL 会首先执行一个隐式的 USE db_name; 语句,将当前数据库上下文设置为 db_name

之后,当 MySQL 读取并处理您的 SQL 输入时,如果遇到 USE 语句,它会检查该语句指定的数据库名是否与命令行上指定的数据库名相同。如果相同,MySQL 会接受并尝试执行 USE 语句之后的 SQL 语句(这些语句将在新的数据库上下文中执行)。如果不同,MySQL 会忽略 USE 语句之后的 SQL 语句,直到遇到下一个 USE 语句或输入的结束。

重要的是要注意,MySQL 在决定是否接受或拒绝 USE 语句之后的 SQL 语句时,并不考虑这些 SQL 语句的具体内容。它只关心 USE 语句指定的数据库名是否与命令行上指定的数据库名相匹配。

假设调用mysql来处理这组语句:

DELETE FROM db2.t2;
USE db2;
DROP TABLE db1.t1;
CREATE TABLE db1.t1 (i INT);
USE db1;
INSERT INTO t1 (i) VALUES(1);
CREATE TABLE db2.t1 (j INT);

如果命令行是mysql --force --one-database db1 ,以下是 MySQL 如何处理输入 SQL 语句的:

  • DELETE 语句:即使 DELETE 语句中引用的表位于不同的数据库,但因为命令行上指定了 db1 并且这是当前默认数据库,所以 DELETE 语句会在 db1 数据库中执行(假设表名在 db1 中是唯一的,或者它确实引用了 db1 中的表)。

  • DROP TABLE 和 CREATE TABLE 语句:如果这两个语句位于一个 USE db2; 语句之后(其中 db2 不是 db1),那么这些语句将尝试在 db2 数据库中执行,而不是 db1

  • INSERT 和 CREATE TABLE 语句:如果当前默认数据库是 db1(由于命令行选项),那么这些语句将在 db1 数据库中执行。即使 CREATE TABLE 语句尝试在不同于 db1 的数据库中创建表行。

使用给定的命令对查询输出进行分页。如果省略该命令,则默认pager为PAGER 环境变量的值。有效的pager有less、more、cat[>filename]等。此选项仅适用于Unix,并且仅适用于交互式模式。

使用 --skip-pager命令可以禁用分页。

用于连接到服务器的MySQL帐户的密码。密码值是可选的。如果没有给出,mysql会提示输入一个。如果给出,则--password=或-p与其后面的密码之间不得有空格。如果未指定密码选项,则默认情况下不发送密码。

在命令行上指定密码应该被认为是不安全的。为了避免在命令行中提供密码,请使用选项文件。

要明确指定不用密码,并且不需要mysql提示输入密码,请使用--skip-password选项。

--password1[=pass_val]

MySQL账户连接服务器时使用的多因素认证(multifactor authentication)的第一个因素的密码。这个密码值是可选的。如果没有给出,mysql会提示输入一个。如果给定,--password1=和它后面的密码之间不能有空格。如果没有指定密码选项,默认情况下不发送密码。

在命令行上指定密码应该被认为是不安全的。为了避免在命令行中提供密码,请使用选项文件。

要明确指出不用密码并且不需要mysql提示输入密码,请使用--skip-password1选项。

--password1和-password是同义词,--skip-password1与--skip-password也是同义词。

--password2[=pass_val]

MySQL账户连接服务器时使用的多因素认证(multifactor authentication)的第二个因素的密码

此选项类似于--password1。

--password3[=pass_val]

MySQL账户连接服务器时使用的多因素认证(multifactor authentication)的第三个因素的密码

此选项类似于--password1。

在Windows上,您可以使用命名管道(named pipe)连接到MySQL服务器。但是,这个选项仅当MySQL服务器启动时启用了named_pipe系统变量以支持命名管道连接时才适用。此外,进行连接的用户必须是named_pipe_full_access_group系统变量指定的Windows组的成员。

在Windows上,authentication_kerberos_client认证插件支持一个插件选项,它允许客户端用户在运行时设置两个可能的值:SSPIGSSAPI

这个客户端插件选项的默认值是SSPI(Security Support Provider Interface),它能够从Windows的内存缓存中获取凭据。这是Windows平台上Kerberos认证的一种常见方式。

另一方面,客户端用户也可以选择通过Windows上的MIT Kerberos库支持GSSAPI(Generic Security Service Application Program Interface)模式。GSSAPI能够获取之前使用kinit命令生成的缓存凭据。这对于那些需要与其他支持GSSAPI的系统(如Linux或UNIX系统)进行互操作的Windows环境可能是有用的。GSSAPI能够获取之前通过kinit命令生成的缓存凭据。

当使用 --default-auth 选项来指定一个认证插件,但 MySQL 客户端无法找到该插件时,您可能需要指定一个目录来让 MySQL 客户端在该目录中查找插件。这可以通过 --plugin-dir 选项来实现。

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

打印程序名称及其从选项文件中获得的所有选项。

将提示设置为指定的格式。默认为mysql>。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年粤港澳青少年信息学创新大赛图形化编程小高组真题试卷

2024年粤港澳青少年信息学创新大赛图形化编程小高组真题试卷 题目总数:16 总分数:100 单选题 第 1 题 单选题 默认小猫角色,以下哪个Scratch程序可以让小猫一直在舞台上随机移动,且每次在移动过程中用时1秒 A. B. C. D…

LearnOpenGL 及 ShaderToy 的 CMake 构建框架

文章目录 构建目标具体框架根目录src 目录app 目录import.cmake其他 CMake 函数 使用框架实际效果摄像机坐标变换使用 assimp 库加载模型shadertoy 测试 framebuffer 离屏渲染 其他 为了复习 OpenGL(主要是看到 shadertoy 上有好玩的着色器),…

Linux入门攻坚——26、Web Service基础知识与httpd配置-2

http协议 URL:Uniform Resource Locator,统一资源定位符 URL方案:scheme,如http://,https:// 服务器地址:IP:port 资源路径: 示例:http://www.test.com:80/bbs/…

rabbitMQ的简单使用

rabbitMQ的介绍 RabbitMQ是一个开源的消息代理和队列服务器,主要用于在不同的应用程序之间传递消息。它基于AMQP(Advanced Message Queuing Protocol)协议,提供了一种可靠的方式来处理异步通信。RabbitMQ使用Erlang语言编写&…

IT入门知识第三部分《软件开发》(3/10)

目录 IT入门知识大纲第三部分《软件开发》 1. 软件开发生命周期(SDLC) 1.1 需求分析 1.2 软件设计 1.3 程序编码 1.4 软件测试 1.5 项目部署 1.6 运行维护 2. 软件开发方法论 2.1 瀑布模型 2.2 敏捷开发 2.2.1 Scrum 2.2.2 Kanban 2.3 Dev…

告别盲目投放,Xinstall全方位监测App广告效果

在移动互联网高速发展的今天,App广告已成为品牌与消费者沟通的重要桥梁。然而,如何确保广告投放的精准性和效果性,成为广告主们关注的焦点。在这个数据驱动的时代,Xinstall以其专业的App广告效果统计功能,为广告主们提…

将Typora中图片从指定路径移动到当前文件夹下(准确位置为:XX.md文件所在目录/XX.assets/)

1、背景介绍 最开始时候,将复制到Typora中的图片放在了指定位置。但是在进行迁移(在别的电脑上打开md文件),会发现发送过来的文件不包含图片,导致文件内容缺失。解决办法就是将图片放在XX.md文件所在目录/XX.assets/。 2、方法 2.1 做好文件备份 2.2 替换图片链接中的…

使用MyBatisPlus让数据库和实体类字段自动映射

文章目录 使用MyBatisPlus让数据库和实体类字段自动映射需求场景假如没有映射把映射放到sql语句中使用MyBatisPlus提供的注解简化映射 使用MyBatisPlus让数据库和实体类字段自动映射 需求场景 数据库表中的字段名字,与实体类中的属性名字不一致,我们想…

使用PaddleNLP 从0构建一个属于你自己的心理大模型

项目源于:EmoLLM心理大模型,一直就有用paddle实践心理大模型的想法,终于实现了哈~。接下来就手把手带大家一块做一个心理大模型吧!!! 简单画了个框架图: 环境配置 In [ ] # !git clone -b develop https…

新安装的gcc编译出现编译器内部错误

在原本的环境中已经安装gcc了,但是版本比较低,想用新的版本。 重新下载安装gcc源码编译安装 make install安装好之后想用新的gcc来编译 先改下头文件搜索路径,xxxxxx就是安装后的include/c/xxx/这个路径 CPLUS_INCLUDE_PATH xxxxxx:$CPL…

建筑幕墙甲级设计资质:申请条件与评分标准

建筑幕墙甲级设计资质的申请条件与评分标准可以清晰归纳如下: 申请条件 一、企业基本情况 独立企业法人资格:企业需具有独立企业法人资格。注册资本:注册资本不少于300万元人民币。 二、技术人员条件 主要技术负责人或总工程师&#xff…

Nuxt.js 深入浅出:目录结构与文件组织详解

title: Nuxt.js 深入浅出:目录结构与文件组织详解 date: 2024/6/18 updated: 2024/6/18 author: cmdragon excerpt: 摘要:本文详述了Nuxt.js框架中关键目录与配置文件的作用及使用方法,包括布局设定、页面结构管理、插件集成、静态资源处理…

1999-2020年各地级市农村居民人均纯收入数据

1999-2020年各地级市农村居民人均纯收入数据 1、时间:1999-2020年 2、指标:年份、城市、农村居民人均纯收入 3、来源:区域年鉴、各省市年鉴 4、范围:地级市,具体每年城市数量参看下文图片,具体城市名单…

macbook屏幕录制技巧,这2个方法请你收好

在当今数字化时代,屏幕录制成为了一项不可或缺的技能,无论是教学演示、游戏直播,还是软件操作教程,屏幕录制都能帮助我们更直观地传达信息。MacBook作为苹果公司的标志性产品,其屏幕录制功能也备受用户关注。本文将详细…

【小白专用24.6.18】C# SqlSugar:连接数据库实现简单的,增、删、改、查

【小白专用 已验证24.6.18】C# SqlSugar操作MySQL数据库实现增删改查-CSDN博客 通过NuGet包管理器搜索SqlSugar(MySql还要安装MySql.Data、Newtonsoft.Json)包并安装 SqlSugarClient db new SqlSugarClient(new ConnectionConfig(){ConnectionString …

计数类DP——AcWing 900. 整数划分

计数类DP 定义 计数类DP主要是通过动态规划的方法来计算满足特定条件的方案数、组合数等数量相关的问题。 运用情况 需要计算不同排列、组合或情况的数量。问题具有明显的阶段性,且每个阶段的选择会对后续阶段产生影响。可以通过逐步构建较小规模问题的解来推导…

mumu 模拟器如何模拟指纹识别?

最近在帮朋友解决一些任务时,有些比较复杂的任务需要批量使用模拟器,但是模拟器存在一个缺点,就是缺少很多物理功能,比如说陀螺仪、温度传感器和生物识别模块等等,但是有些任务是需要这些功能的。没有办法,…

vue3-openlayers 使用tianditu,wmts和xyz等source加载天地图切片服务

本篇介绍一下使用vue3-openlayers加载天地图切片,三种方法: 使用tianditu(ol-source-tianditu内部实现其实用的wmts)使用wmts(ol-source-wmts)使用xyz(ol-source-xyz) 1 需求 vue…

为什么动态代理接口中可以不加@Mapper注解

为什么动态代理接口中可以不加Mapper注解 如下图: 我们上面的UserMapper上面没有加Mapper注解,按道理来说UserMapper这个类应该是注入不到IOC容器里面的,但是为什么我们程序的运行效果仍然是正常的呢?这是因为你的启动类上加了m…

zabbix“专家坐诊”第242期问答

问题一 Q:snmp检查用的什么性能啊?设备多了就检测失败,实际是能通的。 A:把大批量请求取消,把异常获取不到的监控项都禁用 Q:是这个吧,显示不一样。 A:什么版本?用的是v3…