mysql 系统变量

news/2025/2/11 12:12:15/文章来源:https://www.cnblogs.com/aoximin/p/18709511

前言

简单介绍一下mysql的系统变量

正文

当我们之间查看mysql的系统变量的时候呢?

我们使用show variables,这样我们就可以查看到系统变量。

但是这样显然是没有意义的。

可以看到很多很多的系统变量,如果想查具体的,那么就是:

SHOW VARIABLES LIKE 'default_storage_engine'

又比如查看最大连接数:

SHOW VARIABLES like 'max_connections'; 

当然这些我们肯定是记不住的,那么这个时候我们就用ai问就行了。

系统变量中又分为几类:

启动项:

例如:default_storage_engine

那么这种就必须在启动的时候进行修改设置。

mysqld --default-storage-engine=MyISAM --max-connections=10

还有可以写在配置文件之中:

[server] 
default-storage-engine=MyISAM 
max-connections=10

那么还有运行时配置。

这一类配置在运行时修改就生效了。

这一类运行时配置又分为两类:

  1. 客户端级(session 级)

  2. 系统级(global 级)

比如说我们创建表,没有指定使用什么数据引擎,那么这个时候就会用session的配置,如果session没有配置,那么就会使用global级。

有一些系统变量并不是针对单个客户端的,比如允许同时连接到服务器的客户端数量 max_connections ,查
询缓存的大小 query_cache_size ,这些公有的系统变量让某个客户端私有显然不合适。

那么这里就有一个问题,当我们客户端连接了,如果我们全局设置了default-storage-engine=MyISAM,那么是否对该连接生效呢?

答案是不生效,运行逻辑是这样的,当服务器启动的时候,那么会维护一个全局变量表,如果创建一个新连接的时候,那么会维护一个会话变量表,所以全局修改的时候并不会去影响已经连接的会话。

设置的时候可以这样设置:

set [global|session] 系统变量名 = 值

set [global|session].系统变量名 = 值

如果设置会话级别,那么可以省略:

set 系统变量名 = 值

那么我们如何查看session 系统变量和 global 系统变量呢? 我们到现在为止知道了一个叫做 show variables like 'xx' 这样的。

那么如何在这上面加一些条件方便我们查看session 或者global呢。

直接 show [session|global] variables like 'xx'

并不是所有系统变量都具有 GLOBAL 和 SESSION 的作用范围。
有一些系统变量只具有 GLOBAL 作用范围,比方说 max_connections ,表示服务器程序支持同时最多有
多少个客户端程序进行连接。
有一些系统变量只具有 SESSION 作用范围,比如 insert_id ,表示在对某个包含 AUTO_INCREMENT 列的
表进行插入时,该列初始的值。
有一些系统变量的值既具有 GLOBAL 作用范围,也具有 SESSION 作用范围,比如我们前边用到的
default_storage_engine ,而且其实大部分的系统变量都是这样的

有些系统变量是只读的,并不能设置值。
比方说 version ,表示当前 MySQL 的版本,我们客户端是不能设置它的值的,只能在 SHOW VARIABLES 语句
里查看。

启动选项和系统变量的区别

启动选项 是在程序启动时我们程序员传递的一些参数,而 系统变量 是影响服务器程序运行行为的变量,它们之间的关系如下:
大部分的系统变量都可以被当作启动选项传入。
有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offset 、 character_set_client 啥的。
有些启动选项也不是系统变量,比如 defaults-file 。

说白了,就是启动选项可以设置一些系统变量,有些系统变量只有启动的时候才能生效。

状态变量

有一些运行状态是不能修改的,也就是运行过程中的状态数据。

同样的,也分为session 状态和global 状态。

系统变量大体如此吧,后续补充其他滴

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

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

相关文章

批量PDF文件转Word,免费!

今天推荐一款免费的PDF文件转换工具,它包括了PDF压缩、PDF转Word、PDF转Excel、提取PDF中图片等功能,下载地址在文末。 操作步骤 1、打开PDF转换工具,点击菜单PDF转Word,如下图2、添加需要转换的PDF文件,支持批量添加多个文件一起进行转换,如果一个目录下面的所有文件都需…

【博主亲测可用】科学计算软件:Wolfram Mathematica 14.2.0(附软件包及安装教程)

软件介绍 Wolfram Mathematica 14.2.0是一款功能全面且强大的数学计算与分析软件,它在大数据处理、人工智能集成、符号数组功能扩展、图形和可视化改进以及性能提升方面都有显著的增强。这些改进不仅使用户能够更高效地进行数据分析和科学计算,还极大地提升了用户体验。无论是…

硅基流动

使用硅基流动+Cherry ai部署 硅基流动网站:https://cloud.siliconflow.cn/i/OIItglHJ 邀请码:OIItglHJ 首次注册免费2000万Tokens Cherry ai网站:https://cherry-ai.com/download第一步,登入硅基流动网站,注册后 在左边选择api密钥,右上角选择新建api密钥新建后点击密钥…

Windows系统安装Ollama超简教程(附DeepSeek R1实战)

一、Ollama下载指引 官网地址:https://ollama.com/download选择Windows版本直接下载(推荐64位系统),安装包745MB左右,支持Win10/11系统。点击"Download for Windows"按钮即可开始下载。 二、安装过程详解双击下载的OllamaSetup.exe点击install之后,一路下一步就…

部署milvus2.5.3(standalone模式)

环境:os:Centos 7milvus:2.5.31.创建部署目录mkdir -p /home/middle/milvus2.准备docker-compose.yml配置文件内如如下: 我这里使用的是自己的镜像,需要根据自己环境情况进行修改[root@host135 milvus]# more docker-compose.yml version: 3.5services:etcd:container_name: m…

[书]清华大学DeepSeek:从入门到精通

通过网盘分享的文件:清华大学DeepSeek:从入门到精通.pdf等3个文件链接: https://pan.baidu.com/s/1y0-b3seTz7gMTTuPxYS7Vg?pwd=xd25 提取码: xd25一共三本资料

六. UML

UML 一. 事物 1.结构事物 结构事物是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素。结构事物包括类(Class)、接口(Interface)、协作(Collaboration)、用例(Use Case)、主动类(Active Class)、构件(Component)、制品( Artifact)和结点(Node)。 各种结构事物的…

探索 QuestPDF:全平台支持、多功能、专业级的 .NET PDF 库

QuestPDF 是一个用于生成 PDF 文件的 .NET 库,它提供了一个简洁的 API 和灵活的布局选项,使得在 .NET 应用程序中创建 PDF 文件变得更加简单。 支持多平台,支持的功能有合并文档 附加文件 提取页面 加密/解密 扩展元数据 限制访问 针对 Web 进行优化 叠加层 / 底层安装 第一…

Java 中堆内存和栈内存上的数据分布和特点

说到 Java 中内存我们一般笼统地划分为堆内存(Heap)和栈内存(Stack),那么哪些数据被放置在堆内存?哪些数据被放置在栈内存?这些数据的分布有什么特点吗?博客:https://www.emanjusaka.com 博客园:https://www.cnblogs.com/emanjusaka 公众号:emanjusaka的编程栈by em…

AspNetCore 实战:三种流式响应机制详解

在现代Web应用中,实时数据传输和高效的数据流处理变得越来越重要。AspNetCore 提供了多种流式响应机制,以满足不同场景下的需求。 在使用ChatGpt,deepseek的适合有没有想过ai的逐字显示回答是怎么实现的,下面将介绍三种主要的流式响应来实现此功能。 Server-Sent Events (S…

java中反射-字节码和类加载器

多态的一个表现 子类类型赋值给父类 Father f1 = New Son() 调用子类方法报错。 调用父类方法OK。这个就是多态 一个对象能用什么方法,并不是取决于 它有什么方法。 而是取决于引用变量的类型(也就是取决于它声明的类型,Father类型) 它能够用的方法,一定是Father中的方法。 …

本地私有化部署DeepSeek,打造自己的大模型知识库

1简介 DeepSeek R1是基于MIT协议开源的大模型,意味着个人和企业可以免费使用,包括商业使用。 众所周知,我们可以在chat.deepseek.com上可以直接免费使用DeepSeek R1的聊天服务。但如果你自己开发的应用需要使用到其api的话,仍然是需要收费的,另外,如果你有机密信息并不想…