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>。

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

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

相关文章

工具分享:Search_Viewer

文章目录 前言Search_Viewer介绍安装方式使用方式 前言 本文推荐工具Search_Viewer,详细介绍其安装和使用方式。 Search_Viewer介绍 集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼、censys 为一体的空间测绘gui图形界面化工具,支持一键采…

2024数据库期末综合(第9关:索引)

第9关:索引(注意看下面的温馨提示!!) 任务描述 湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)…

PySide在QLabel上按住鼠标左键画方框

用于截图放大等 import sys from PySide6.QtWidgets import QApplication, QLabel, QMainWindow from PySide6.QtGui import QPixmap, QPainter, QPen, QColor from PySide6.QtCore import Qt, QRect, QPointclass ImageLabel(QLabel):def __init__(self, parentNone):super().…

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…

南卡、漫步者和Oladance开放式哪家强?无广避坑测评!

现在市面上的开放式耳机种类非常多,在购买的时候大多数人都没有非常确定的目标,这主要是因为大多数人对开放式耳机的认识程度不够。 作为一个有着多年数码产品测评经验的测评员,我刚好对开放式耳机也有比较深刻的理解,也借着大家…

策略模式:applicationContext.getBeansOfType()方法

applicationContext.getBeansOfType() 一般用来获取某个接口的所有实例Bean 方法定义如下: 入参一般是接口,即interface。响应是个Map结构,key bean在容器中的名称,value bean实列 开发步骤: 1.定义接口 2.定义…

智汇云舟成为中煤集团中煤智能创新联盟成员单位

6月21日,第八届世界智能产业博览会平行会议暨中煤智能创新联盟交流会在天津水游城丽筠酒店顺利举行。智汇云舟受邀参与,并由中国中煤能源集团授予荣誉证书,正式成为中煤智能创新联盟成员单位。会议上,清华大学、中国矿业大学&…

【SkiaSharp绘图08】SKPaint方法:自动换行、是否乱码、字符偏移、边界、截距、文本轮廓、测量文本

文章目录 SKPaint方法BreakText 计算指定宽度内可绘制的字符个数ContainsGlyphs字体是否包含文本字符(是否会乱码)GetGlyphOffsets 字符偏移量GetGlyphPositions 偏移坐标GetGlyphWidths 每个字符的宽度与边界GetHorizontalTextIntercepts 轮廓截距GetPositionedTextIntercepts…

CVPR 2024第三弹:李飞飞教授惊喜亮相,CVPR之家乐队火爆演奏惊艳全场

CVPR 2024第三弹:小编与李飞飞教授惊喜同框,"CVPR之家"乐队火爆演奏惊艳全场! 会议之眼 快讯 2024 年 CVPR (Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议,于6月1…

电脑ai写作软件,4款实用的软件!

在数字化时代,AI写作软件已经成为创作者们不可或缺的工具。它们利用先进的自然语言处理技术和大数据分析,能够快速生成高质量的文章,大大提升了创作效率。那么,市面上有哪些值得一试的电脑AI写作软件呢?让我们一起来盘…

mongodb嵌套聚合

db.order.aggregate([{$match: {// 下单时间"createTime": {$gte: ISODate("2024-05-01T00:00:00Z"),$lte: ISODate("2024-05-31T23:59:59Z")}// 商品名称,"goods.productName": /美国皓齿/,//订单状态 2:待发货 3:已发货 4:交易成功…

“神刊”CA再回巅峰!2024年JCR正式发布,共21848本期刊,附完整版EXCEL版下载!

2024 年 6 月 20 日,科睿唯安(Clarivate Analytics)发布了最新的《期刊引证报告》(Journal Citation Reports,JCR),以下简要介绍最新影响因子(IF)情况: 2023年完整版JCR…

容器之工具栏构件演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDO…

[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能

一、Qt的概述 Qt是一个跨平台的C图形用户界面应用程序框架&#xff08;GUI&#xff09;。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。开发环境为Qt creator5.8.0&#xff0c;下载…

项目经验——交通行业数据可视化大屏、HMI设计

交通行业数据大屏、HMI设计时要的注意点&#xff1a;清晰可读、简洁直观、适配性强。颜色对比度满足WCAG标准&#xff0c;深色背景减少干扰&#xff0c;实时展示交通数据&#xff0c;支持有线网络控制内容更新&#xff0c;保障驾驶安全与决策效率。

通过“BOSS”精通比特币,深入认识私钥、账户和钱包

来源:币界原创 作者:636Marx 无论当今数字货币技术如何发展&#xff0c;认识区块链技术幕后的关键机制至关重要。无论您是新手还是经验丰富的数字货币从业者&#xff0c;掌握钱包地址、公钥和私钥的复杂性都有无可替代重要性。进入 BOSS Wallet&#xff0c;这是一款尖端的 Web…

ICMAN触摸芯片——防水触摸

ICMAN触摸芯片之防水触摸触摸按键控制开关和调节挡位和切换不同模式 淋水状态下&#xff0c;触摸按键反应灵敏&#xff0c;不误触发&#xff0c; ICMAN触摸芯片稳定性与抗干扰能力强&#xff0c; 可以轻松解决家电触摸感应不灵敏和有水误触发的问题&#xff0c; 从而有效实…

Linux_文件IO

目录 一、库函数进行文件操作 1、fopen/fclose 2、fwrite 3、追加方式-“a” 4、fread 5、三个默认文件流 二、系统函数进行文件操作 1、open/close 2、write 3、追加方式-“O_APPEND” 4、read 5、struct file结构体 6、文件描述符 6.1 struct file的引用…

中学理化生实验室建设及配置要求

在中学物理、化学、生物等学科教学中&#xff0c;实验占据了非常重要的地位&#xff0c;是整个教学过程中不可或缺的部分。很多理科教学需要在实验室完成演示和学习任务&#xff0c;实验室也是保证教学计划得以实施的物质基础。因此&#xff0c;中学理化生实验室建设标准与否&a…

【C++ | const成员】类的 const数据成员、const成员函数、const对象、mutable 数据成员

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-06-14 2…