当前位置: 首页 > news >正文

2.4.3 【MySQL】设置系统变量

2.4.3.1 通过启动选项设置

大部分的系统变量都可以通过启动服务器时传送启动选项的方式来进行设置。如何填写启动选项就是下面两种方式:

通过命令行添加启动选项。

在启动服务器程序时用这个命令:

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

通过配置文件添加启动选项。

我们可以这样填写配置文件:

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

当使用上边两种方式中的任意一种启动服务器程序后,我们再来查看一下系统变量的值:

                        

可以看到 default_storage_engine 和 max_connections 这两个系统变量的值已经被修改了。有一点需要注意的是,对于启动选项来说,如果启动选项名由多个单词组成,各个单词之间用短划线 - 或者下划线 _ 连接起来都可以,但是对应的系统变量之间必须使用下划线 _ 连接起来。

2.4.3.2 服务器程序运行过程中设置

对于大部分系统变量来说,它们的值可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器。不过系统变量有作用范围之分。

设置不同作用范围的系统变量

多个客户端程序可以同时连接到一个服务器程序。对于同一个系统变量,有时想让不同的客户端有不同的值。但是这样各个客户端都私有一份系统变量会产生这么两个问题:

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

一个新连接到服务器的客户端对应的系统变量的值该怎么设置?

所以为解决这两个问题,就有了作用范围:

GLOBAL :全局变量,影响服务器的整体操作。

SESSION :会话变量,影响某个客户端连接的操作。(注: SESSION 有个别名叫 LOCAL )

在服务器启动时,会将每个全局变量初始化为其默认值(可以通过命令行或选项文件中指定的选项更改这些默认值)。然后服务器还为每个连接的客户端维护一组会话变量,客户端的会话变量在连接时使用相应全局变量的当前值初始化。

通过启动选项设置的系统变量的作用范围都是 GLOBAL 的,也就是对所有客户端都有效的,因为在系统启动的时候还没有客户端程序连接进来呢。在服务器程序运行期间通过客户端程序设置系统变量的语法:

SET [GLOBAL|SESSION] 系统变量名 = 值;

比如我们想在服务器运行过程中把作用范围为 GLOBAL 的系统变量 default_storage_engine 的值修改为MyISAM ,也就是想让之后新连接到服务器的客户端都用 MyISAM 作为默认的存储引擎,那我们可以这样:

SET GLOBAL default_storage_engine = MyISAM;

默认查看的是 SESSION 作用范围的系统变量。当然我们也可以在查看系统变量的语句上加上要查看哪个 作用范围 的系统变量,就像这样:

SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];

下边我们演示一下完整的设置并查看系统变量的过程:

                 

可以看到,最初 default_storage_engine 的系统变量无论是在 GLOBAL 作用范围上还是在 SESSION 作用范围上的值都是 InnoDB ,我们在 SESSION 作用范围把它的值设置为 MyISAM 之后,可以看到 GLOBAL 作用范围的值并没有改变。

注意:

并不是所有系统变量都具有 GLOBAL 和 SESSION 的作用范围。

有一些系统变量只具有 GLOBAL 作用范围,比方说 max_connections ,表示服务器程序支持同时最多有多少个客户端程序进行连接。

有一些系统变量只具有 SESSION 作用范围,比如 insert_id ,表示在对某个包含 AUTO_INCREMENT 列的表进行插入时,该列初始的值。

有一些系统变量的值既具有 GLOBAL 作用范围,也具有 SESSION 作用范围,比如我们前边用到的default_storage_engine ,而且其实大部分的系统变量都是这样的。

有些系统变量是只读的,并不能设置值。

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

启动选项 是在程序启动时我们程序员传递的一些参数,而 系统变量 是影响服务器程序运行行为的变量,它们之间的关系如下:

大部分的系统变量都可以被当作启动选项传入。

有些系统变量是在程序运行过程中自动生成的,是不可以当作启动选项来设置,比如auto_increment_offset 、 character_set_client 啥的。

有些启动选项也不是系统变量,比如 defaults-file 。

2.5 状态变量

状态变量是用来显示服务器程序运行状况的,所以它们的值只能由服务器程序自己来设置,我们程序员是不能设置的。与 系统变量 类似, 状态变量 也有 GLOBAL 和 SESSION 两个作用范围的,所以查看 状态变量 的语句可以这么写:

SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];

类似的,如果我们不写明作用范围,默认的作用范围是 SESSION ,比方说这样:

                                        

所有以 Thread 开头的 SESSION 作用范围的状态变量就都被展示出来了。

相关文章:

2.4.3 【MySQL】设置系统变量

2.4.3.1 通过启动选项设置 大部分的系统变量都可以通过启动服务器时传送启动选项的方式来进行设置。如何填写启动选项就是下面两种方式: 通过命令行添加启动选项。 在启动服务器程序时用这个命令: mysqld --default-storage-engineMyISAM --max-conn…...

【Redis】2、Redis持久化和性能管理

Redis 高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供…...

MIT6.S081实验环境搭建

MIT6.S081 lab 环境搭建 本文参考了MIT的官方指南和知乎文章环境搭建 step1 首先需要一个ubuntu20.04的系统,我使用的是vscode的WSL2连接的ubuntu20.04,使用virtual box建一个ubuntu20.04的虚拟机应该也可以。 可以用 lsb_release -a 查看一下自己ub…...

spring spring-boot spring-cloud spring-cloud-alibaba之间版本对应关系

spring 版本与 jdk 的对应关系 https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions 从 spring 6.0 开始使用 jdk 17 进行编译 对应的相关 servlet 容器(tomcat、undertow、jetty等)的 servlet 规范转移到 eclipse&…...

Docker技术入门 | Part01:Docker简介

文章目录 1 虚拟化技术2 Docker概述2.1 Docker能解决的问题2.2 Docker介绍2.3 为什么使用Docker2.4 Docker特点2.5 Docker应用场景 3 Docker与虚拟机对比3.1 Docker和虚拟机组成结构3.2 Docker和虚拟机的不同点 4 Docker基本概念4.1 Docker引擎4.2 Docker基本架构4.3 Docker容器…...

Apache实现weblogic集群配置

安装apache,安装相对稳定的版本。如果安装后测试能否正常启动,可以通过访问http://localhost/进行测试。安装Weblogic,参见文档将bea安装目录 weblogic81/server/bin 下的 mod_wl_20.so 文件copy到 apache安装目录下Apache2/modules/目录下A…...

Java面试题总结2023

Java面试题总结2023 基础String中常用的方法 与 equals的区别值传递和引用传递数组和集合的区别成员变量和局部变量的区别final和finally和finalize的区别Cookie和Session的的区别接口分类接口和抽象类的区别说说你对抽象类的理解String/StringBuffer/StringBuilderjdk1.8的新特…...

采用ROUANT 方法对 nex-gddp-cmip6 数据进行精度校正

专题一 CMIP6中的模式比较计划 1.1 GCM介绍全球气候模型(Global Climate Model, GCM),也被称为全球环流模型或全球大气模型,是一种用于模拟地球的气候系统的数值模型。这种模型使用一系列的数学公式来描述气候系统的主要组成部分…...

超级电容-电池-超级电容混合储能系统能量管理simulink仿真建模模型

建立混合储能系统模型 在Simulink中,首先需要建立一个超级电容和蓄电池并联的混合储能系统模型。其中,超级电容和蓄电池的荷电状态(SOC)需要根据实际情况进行管理。荷电状态可以通过对电池和超级电容的电压、电流等进行测量&…...

最新仿闲鱼链接+独立后台管理 跳转APP

2024最新仿xy链接源码 后台一键生成链接,后台管理教程:解压源码,修改数据库config/Congig 不会可以看源码里有教程 下载程序:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3...

DoIP协议——汽车以太网应用介绍

DoIP目录 前言一、DoIP术语和缩写二、网络拓扑三、DoIP数据基本结构四、应用场景4.1 直接点对点连接4.2 多台外部测试设备分别和多台汽车在局域网内通过交换机点对点连接4.3 一台外部测试设备跨越本地网络与多台车辆连接4.4 外部测试设备的多个应用层实体(在一台硬件或多台硬件…...

标准C++day1——名字空间和堆内存管理

一、C介绍 本贾尼.斯特劳斯特卢普,于1979年在贝尔实验室负责分析UNIX系统内核流量的分布情况时,特别希望有一种更加模块化的工具,于1979.10开始着手研发一款新的编程语言,在C语言的基础上增加了面向对象的机制,也就是C…...

草图大师SketchUp Pro 2023 for Mac

SketchUp Pro 2023 for Mac(草图大师)是一款专业的三维建模软件,由Trimble Inc.开发。它可以用于创建、修改和分享3D模型,包括建筑、家具、景观等。 SketchUp Pro 2023 for Mac提供了简单易学的用户界面和强大的工具集&#xff0…...

doris docker环境编译部署

1.准备doris docker环境 xiuchenggongxiuchengdeMacBook-Pro bin % docker pull apache/doris:build-env-ldb-toolchain-latestbuild-env-ldb-toolchain-latest: Pulling from apache/doris eeedae70be19: Pull complete a3ed95caeb02: Pull complete Digest: sha256:63d9a9…...

java封装国密SM4为 jar包,PHP调用

java封装国密SM4为 jar包,PHP调用 创建java工程引入SM4 jar包封装CMD可调用jar包PHP 传参调用刚用java弄了个class给php调用,本以为项目上用到java封装功能的事情就结束了,没想到又来了java的加密需求,这玩意上头,毕竟不是强项,没办法,只好再次封装。 但是这次的有点不…...

微信小程序 wx:if使用

在微信小程序中&#xff0c;可以使用wx:if指令来控制某个元素是否需要被渲染到页面上。根据条件表达式的结果&#xff0c;wx:if指令决定元素是否显示。 下面是使用wx:if的基本示例&#xff1a; <view><view wx:if"{{condition}}"><!-- 条件为真时显…...

SpringBoot环境MongoDB分页+去重+获取去重后的原始数据

最近有个比较复杂的MongoDB查询需求&#xff0c; 要求1&#xff1a;获取最近订单表中的请求参数信息&#xff0c;并需要按照请求参数中的账号进行去重 要求2&#xff1a;数据量可能比较大&#xff0c;因此需要做分页查询 研究了大半天&#xff0c;终于搞出了解决方案&#xff0…...

Vuex核心概念 - actions 和 getters

文章目录 actions 和 getters一、actions作用使用目的&#xff1a; 二、actions的使用执行原理代码示例&#xff1a; 三、actions中的辅助函数mapActions代码示例&#xff1a; 四、核心-getters1. 什么是getters&#xff1f;2. getters的作用&#xff1a;3. 访问 getters 的两种…...

51单片机的简易计算器数码管显示仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易计算器数码管显示仿真设计 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接 51单片机的简易计算器数码管显示仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器…...

Qt版本的冷知识

Qt4.8.7是Qt4的终结版本&#xff0c;是Qt4系列版本中最稳定最经典的&#xff08;很多嵌入式板子还是用Qt4.8&#xff09;&#xff0c;其实该版本是和Qt5.5差不多时间发布的。参考链接 https://www.qt.io/blog/2015/05/26/qt-4-8-7-released https://blog.qt.io/blog/2015/07/01…...

[C++ 学习] 控制信号

// // Created by ubuntu on 9/6/23. // #include<iostream> #include<unistd.h> #include <signal.h>using namespace std; void EXIT(int sig){cout << "收到了信号&#xff1a;" << sig << endl;cout << "正在释放…...

php如何设置随机数

第一种方法用mt_rand() 第二种方法&#xff08;最快的&#xff09; 第三种取当时时间戳 第四种打乱字符串 5 //开始创建验证码(直接用函数生成&#xff0c;比较方便快捷) php mt_rand生成0~1随机小数的效果比较 第一种方法用mt_rand() function GetRandStr($length){ $s…...

WebGL 纹理——在矩形表面贴上图像

目录 WebGL要进行纹理映射&#xff0c;需遵循以下四步&#xff1a; 1. 准备好映射到几何图形上的纹理图像。 2. 为几何图形配置纹理映射方式。 3. 加载纹理图像&#xff0c;对其进行一些配置&#xff0c;以在WebGL中使用它。 4. 在片元着色器中将相应的纹素从纹理中抽取出…...

javaweb-Filter-listener过滤器与监听器

这里对Javaweb三大组件 Servelet Filter Listener 的Filter Listener进行学习 即过滤器 与监听器 过滤器: 当web浏览器向服务器发送请求时就可以对请求进行拦截与增强 这里直接给出过滤器的代码 package Filter;import javax.servlet.*; import javax.servlet.annotati…...

DBeaver 常用快捷键【大全】

本文介绍DBeaver 数据库工具的常用快捷键 一、简介 DBeaver 是一款常用的数据库工具&#xff0c;使用快捷键可以提高操作效率。 二、常用快捷键介绍 以下是DBeaver的常用快捷键&#xff1a; 1.ctrlenter 执行sql 2.ctrl\ 执行sql,保留之前窗口结果 3.ctrlshift↑ 向上复制一…...

数据分析之面试题目汇总

1、解释数据清洗的过程及常见的清洗方法。 数据清洗是指在数据分析过程中对数据进行检查、处理和纠正的过程&#xff1b;是数据预处理的一步&#xff0c;用于处理数据集中的无效、错误、缺失或冗余数据 常见的清洗方法包括&#xff1a;处理缺失值、处理异常值、去除重复值、统一…...

【Vue-Element-Admin】级联查询

背景 有两个查询条件&#xff1a;模块、功能点 想实现选择模块后&#xff0c;点击功能点下拉框&#xff0c;查询出对应模块下的功能点列表 查询 listQuery: export default{return{listQuery:{//page:1,//limit:20,//如果想兼容按条件导出&#xff0c;可以定义查询条件age:…...

深入探讨Kubernetes(K8s)在云原生架构中的关键作用和应用

文章目录 1. 容器化的应用程序管理2. 自动化扩展和负载均衡3. 容器编排和调度4. 存储管理5. 自动化滚动更新6. 多云和混合云部署7. 监控和日志8. 安全9. 社区支持和生态系统10. 未来展望案例 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1…...

redis zset score 求和

redis zset score 求和 local sum0 local zredis.call(‘ZRANGE’, KEYS[1], 0, -1, ‘WITHSCORES’) for i2, #z, 2 do sumsumz[i] end return sum 例子&#xff1a;lua ~$ redis-cli zadd z 1 a 2 b 3 c 4 d 5 e (integer) 5 ~$ redis-cli eval "local sum0 local zr…...

springboot属性注入增强(一)背景/需求

一 背景 springboot 在启动时候会将系统的环境变量、项目的启动时设置的属性 、application.yml文件&#xff08;或application.properties文件&#xff09;、PropertySource定义的配置文件中的属性加载到Environment对象中&#xff0c;分布式配置中心框架也会把配置加载到Env…...

深圳html5网站建设价格/教育机构网站

Centos 7.0设置/etc/rc.local无效问题解决参考文章&#xff1a; &#xff08;1&#xff09;Centos 7.0设置/etc/rc.local无效问题解决 &#xff08;2&#xff09;https://www.cnblogs.com/koboshi/p/4036312.html 备忘一下。...

管理咨询公司项目运作流程图/宁波seo高级方法

问题&#xff1a;在SQL服务器上用sa账号登陆后执行SELECT * FROM OpenDataSource( Microsoft.Jet.OLEDB.4.0,Data Source"d:\a.xls";User IDAdmin;Password;Extended propertiesExcel 8.0)...[Sheet1$] 提示&#xff1a;链接服务器"(null)"的 OLE DB 访问接…...

北京公司网站制作流程/代做百度关键词排名

2019独角兽企业重金招聘Python工程师标准>>> 搭建SpringBoot遇到 java.lang.NoSuchMethodError 在网上查&#xff0c;基本上都是说重复引入tomcat的包 springboot会引起tomcat的包 解决方案如下&#xff0c;如果是eclipse&#xff0c;去掉&#xff1a; 重跑即可~ 转…...

作一个网站要多少钱/外贸seo网站建设

大片大片的珊瑚正在死亡&#xff0c;请保护我们的地球。 昨天还欣欣向荣 转眼就... 希望明天不会是 转载于:https://www.cnblogs.com/junqilian/p/3883893.html...

网站建设案例图片/指定关键词排名优化

有时需要读取jpg图像的长和宽&#xff0c;tensorflow提供了很好的支持直接上示例decode_jpeg_data tf.placeholder(dtypetf.string)decode_jpeg tf.image.decode_jpeg(decode_jpeg_data, channels3)image_data tf.gfile.FastGFile("C:/Users/shenwei/Desktop/timg.jpg&…...

wordpress多用户商城/备案查询官网

这个专区就是用来分享你在使用 Python 过程中发现的或者自己写的 Python 库。有时候一个好用的库将大大节省一个开发者的时间&#xff0c;也会让开发者多这个库的作者感激涕零的。例如我在开发 Pythonzhcn 时用到了这些库:django1.10.4django-model-utils2.6&#xff0c;为 dja…...