MySQL是怎样运行的——第2章 启动选项和系统变量

news2025/1/13 13:47:34

文章目录

      • 2.1 在命令行上使用选项
        • 2.1.1 选项的长形式和短形式
      • 2.2 配置文件中使用选项
        • 2.2.1 配置文件的路径
        • 2.2.2 配置文件的内容
        • 2.2.3 配置文件的优先级
      • 2.3 命令行和配置文件中启动选项的区别
      • 2.4 系统变量
        • 2.4.1 简介
        • 2.4.2 查看系统变量
        • 2.4.3 设置系统变量
        • 2.4.4 启动选项和系统变量的区别
      • 2.5 状态变量

2.1 在命令行上使用选项

启动服务器程序的命令行后边指定启动选项的通用格式如下:

--启动选项1[=值1] —启动选项2[=值2] ... --启动选项n[=值n]

选项名、=、选项值之间不可以有空白字符。

使用mysql —help可以看到mysql程序支持的启动选项。

2.1.1 选项的长形式和短形式

在这里插入图片描述

2.2 配置文件中使用选项

在命令行中设置启动选项只对当次启动生效,从而引出配置文件的概念:把需要设置的启动选项都写在配置文件中,每次启动服务器的时候都从这个文件里加载相应的启动选项。

2.2.1 配置文件的路径

在这里插入图片描述
在这里插入图片描述

2.2.2 配置文件的内容

配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号[]括起来,像这样:

[server]
(具体的启动选项...)

[mysqld]
(具体的启动选项...)

[mysqld_safe]
(具体的启动选项...)

[client]
(具体的启动选项...)

[mysql]
(具体的启动选项...)

[mysqladmin]
(具体的启动选项...)

📌但是配置文件中只能使用长形式的选项。在配置文件中指定的启动选项不允许加 – 前缀,并且每行只指定一个选项,而且 = 周围可以有空白字符(命令行中选项名、= 、选项值之间不允许有空白字符)。另外,在配置文件中,我们可以使用 # 来添加注释,从 # 出现直到行尾的内容都属于注释内容,读取配置文件时会忽略这些注释内容。

2.2.3 配置文件的优先级

MySQL 将按照我们在上表中给定的顺序依次读取各个配置文件,如果该文件不存在则忽略。值得注意的是,如果我们在多个配置文件中设置了相同的启动选项,那以最后一个配置文件中的为准。

2.3 命令行和配置文件中启动选项的区别

命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-file 、 defaults-file这种本身就是为了指定配置文件路径的。

注意:若同一个启动选项既出现在命令行中,又出现在配置文件中,则已命令行中的为准!

2.4 系统变量

2.4.1 简介

MySQL服务器程序运行过程中会用到许多影响程序行为的变量,被称为MySQL系统变量,如max_connections等,MySQL有好几百条。可以使用命令行或配置文件中的选项在启动服务器时改变一些系统变量的值。大多数系统变量的值也可以在程序运行过程中修改,而无需停止并重新启动它。

2.4.2 查看系统变量

SHOW VARIABLES [LIKE 匹配的模式];
在这里插入图片描述

2.4.3 设置系统变量
  1. 通过启动选项设置

    大部分的系统变量都可以通过启动服务器时传送启动选项的方式来设置,可以通过命令行添加启动选项通过配置文件添加启动选项两种方式。

  2. 服务器程序运行过程中设置

    大部分系统变量的值都可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器。

    系统变量的作用范围:

    • GLOBAL:全局变量,影响服务器的整体操作;
    • SESSION:会话变量,影响某个客户端连接的操作;
      在服务器程序运行期间通过客户端程序设置系统变量的语法:
      SET [GLOBAL|SESSION] 系统变量名 = 值;SET [@@(GLOBAL|SESSION).]var_name = XXX;

    例如:

    语句一:SET GLOBAL default_storage_engine = MyISAM;

    语句二:SET @@GLOBAL.default_storage_engine = MyISAM;

    若省略了作用范围,默认为SESSION。

注意:

  1. SHOW VARIABLES语句查看的是SESSION作用范围的系统变量。完整语法为SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
  2. 某个客户端修改了某个系统变量在GLOBAL作用范围的值,并不会影响在当前已经连接的客户端作用范围为SESSION的值,只会影响后续连入的客户端在作用范围为SESSION的值。
  3. 有些系统变量只有GLOBAL作用范围,有些只有SESSION;
  4. 有些系统变量是只读的,不能设置值,比如version
2.4.4 启动选项和系统变量的区别

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

  • 大部分系统变量都可以被当做启动选项传入;
  • 有些系统变量是在程序运行过程中自动生成的,不可以当做启动选项来设置,如auto_increment_offset 、 character_set_client;
  • 有些启动选项也不是系统变量,比如defaults-file。

2.5 状态变量

状态变量是关于程序运行状态的变量。如 Threads_connected表示当前有多少客户端与服务器建立了连接,Handler_update表示已经更新了多少行记录。

状态变量的值只能由服务器程序自己设置。

查看状态变量的语法与系统变量类似,省略作用范围则默认SESSION:

SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];
在这里插入图片描述

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

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

相关文章

Java原生序列化与反序列化、URLDNS

配套课件地址:https://blog.csdn.net/mocas_wang/article/details/10762101 1. 概述 1.1 序列化与反序列化 序列化是指把Java代码转化为字节序列的过程;而反序列化时指把字节序列恢复为Java对象的过程。序列化分为两大部分:序列化和反序列化…

mindspore框架实现ckpt模型导出ONNX格式

mindspore框架保存及加载模型 详细流程:昇思-保存及加载模型 关键步骤 关键代码 from mindspore import export, load_checkpoint, load_param_into_net from mindspore import Tensor import numpy as np from MobileNet2GarbageCls.MobileNetv2 import *# 有…

第二证券:商业航天概念再活跃,航天晨光5连板,航新科技等涨停

商业航天概念1日盘中再度活跃,到发稿,航新科技、春晖智控“20cm”涨停,航天雄图涨超10%,航天长峰、航天晨光、星网宇达、航天科技、航天展开等均涨停,航宇微涨近10%。 值得注意的是,航天晨光已接连5个交易…

如何对同一个项目,不同分支,开两个IDEA窗口?

问题:有次我想参考(fu zhi)某个分支的代码,来写代码,但是打开双击项目的pom文件,会自动打开现在的IDEA窗口,如下: 解决:后面我用Open的方式打开,也是一样的。…

免费【2024】springboot 大棚蔬菜管理系统的设计与实现

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

【漏洞复现】万户 ezOFFICE协同管理平台 getAutoCode SQL注入

文章目录 0x00 漏洞描述影响范围 0x01 测绘工具0x02 漏洞复现0x03 Nuclei检测脚本0x04 修复建议0x05 免责声明 0x00 漏洞描述 万户OA ezofice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据…

Thread-Caching Malloc 简介

文章目录 Google的tcmalloc(Thread-Caching Malloc)简介主要特点工作原理应用场景安装与配置 总结 🎖 博主的CSDN主页:Ryan.Alaskan Malamute 📜 博主的代码仓库主页 [ Gitee ]:ryanala [GitHub]&…

第十三章 数据质量

本章重点内容: 1.重要的数据先开始处理 2.要知道PDCA(计划-执行-检查-行动) 3.知道数据质量的评估维度 4.进行根因分析以找出数据质量问题的根源 5.数据质量报告 1. 概述 与数据治理和整体数据管理一样,数据质量管理不是一个…

031-GeoGebra中级篇-GeoGebra的布尔值

在 GeoGebra 中,布尔值和条件判断是实现动态数学模型和交互式几何图形的重要工具。布尔值,即逻辑值,只有两个可能的取值:真(True)或假(False)。通过使用布尔值,我们可以创…

css揭秘-学习小结

0 引言-编码技巧 尽量用相对单位,比如字体大小和行高,如果是绝对值每次两个都要改,如果是相对值则只要改一个。 0.1 代码易维护和代码量不可兼得 为一个元素添加宽10px的边框,左侧不带边框,有两种方案 border-widt…

中科大保卫处招聘要求硕士学历:考研还有用吗?

希望同学们在看到类似这样的新闻或者热搜的时候,首先要明白很多事情都存在“幸存者偏差”。 我们不能“管中窥豹”,用特例去认识整体,当然,特例的出现或者存在也是有一定道理的,我们也不能完全忽视特例的存在。 所以…

QPieSeries-饼状图

void Widget::initWindowQPie() {//[1] 创建饼图QPieSeries* pSeries new QPieSeries();pSeries->append("苹果", 15);pSeries->append("西瓜", 30);pSeries->append("香蕉", 10);pSeries->append("葡萄", 25);pSeries-&…

文件解析漏洞—IIS解析漏洞—IIS6.X

目录 方式 1:目录解析 方式 2:畸形文件解析 方式 3:PUT 上传漏洞(123.asp;.jpg 解析成 asp) 环境:Windows server 2003 添加 IIS 管理工具——打开 IIS——添加网站 创建完成之后,右击创建的…

2024年音频剪辑必备:五大最佳音频编辑软件精选!

在数字时代,音频剪辑已成为创意表达的重要工具。无论是音乐制作、播客编辑还是视频后期,一款优秀的音频剪辑软件都是不可或缺的。推荐五款备受推崇的音频剪辑工具。 福昕音频剪辑 链接:https://www.foxitsoftware.cn/audio-clip/ 福昕音频…

arasan CAN2.0 CAN FD user guide详解

1. 引言 1.1 概览 Arasan 的 Controller Area Network - Flexible Data (CAN-FD) 控制器 IP 实现了 CAN 2.0A、CAN 2.0B 以及高性能 CAN-FD (Flexible Data Rate) 协议。它符合非 ISO CAN-FD 由 Bosch 提出的标准以及 ISO11898-1:2015 DIS 标准。它可以集成到需要 CAN 连接性…

IDEA切换分支,会影响当前在跑的项目吗?

说明:本文测试,在IDEA中运行项目,然后切换分支,是否会影响当前正在跑的项目 准备工作 首先,创建一个Git项目,接口如下: import org.springframework.web.bind.annotation.GetMapping; import…

【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!

暑假来了,很多同学后台私信我求做兼职的路子,这里,我整理了一份详细攻略,请大家务必查收,这可能会帮你把几个学期的生活费都赚够! Up刚工作就开始做挖漏洞兼职,最高一次赚了12k,后面…

bootcamp和虚拟机哪个更好 bootcamp和虚拟机的性能差距 MacBook装双系统和虚拟机有什么区别

在当今数字化时代,对于部分使用Mac电脑的用户来说,选择如何在Mac系统中运行Windows或其他操作系统能节省大量精力。双系统(Boot Camp或其他多引导方案)和虚拟机是两种常见的方法。 一、Boot Camp(启动转换助手&#xf…

订单状态统计业务

文章目录 概要整体架构流程技术细节小结 概要 订单状态统计是电子商务、供应链管理、客户服务等多个领域中的一项核心业务需求. 需求分析以及接口设计 技术细节 1.Controller层: ApiOperation("各个状态的订单统计")GetMapping("/statistics")public Re…

step:菜单栏静态加载和动态加载

文章目录 文章介绍静态加载动态加载补充材料 文章介绍 对比静态加载和动态加载。 主界面main.qml之前使用的是动态加载,动态加载导致的问题:菜单栏选择界面切换时,之前的界面内容被清空。 修改方法:将动态加载改为静态加载 左边是…