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

文章目录

      • 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.rhkb.cn/news/389652.html

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

相关文章

PyQt5新手教程(五万字)

文章目录 PyQt界面开发的两种方式:可视化UI 编程式UI一、PyQt 简介二、PyQt 与 Qt 的蒙娜丽莎三、PyQt 布局管理器(Layout Manager)3.1、简介3.1.1、布局管理器的定义3.1.2、布局管理器的类型3.1.3、布局管理器的使用方法 3.2、项目实战3.2.…

查物流信息用什么软件

在电子商务日益繁荣的今天,快递物流信息的查询成为了我们日常生活中不可或缺的一部分。无论是网购达人还是商家,都需要随时掌握货物的物流动态。然而,如何快速、准确地查询物流信息却是一个令人头疼的问题。今天,我将为大家介绍一…

AI大模型需要什么样的数据?

数据将是未来AI大模型竞争的关键要素 人工智能发展的突破得益于高质量数据的发展。例如,大型语言模型的最新进展依赖于更高质量、更丰富的训练数据集:与GPT-2相比,GPT-3对模型架构只进行了微小的修改,但花费精力收集更大的高质量…

C++11深度剖析

目录 🚀 前言:C11简介 一: 🔥 统一的列表初始化💫 2.1 {}初始化 二: 🔥 std::initializer_list 💫 2.1 std::initializer_list是什么类型💫 2.2 s…

正则采集器之三——前端搭建

前端使用有名的饿了么管理后台,vue3版本vue3-element-admin,首先从gitee中克隆一个vue3-element-admin模板代码vue3-element-admin: Vue3 Element Admin开箱即用的中后台管理系统前端解决方案,然后在此基础上进行开发。 1、修改vite.config.…

【C++】初识类和对象

本篇介绍一下C的自定义类型,类和对象。 1.类的定义 1.1 类定义格式 class 为定义类的关键字,Stack为类的名字,类名随便取,{}中为类的主体,类定义结束时后面的分号不可省略。类主体中内容称为类的成员:类中…

C++开源界面库duilib的使用细节与实战技巧总结(实战经验分享)

目录 1、使用CEditUI编辑框 2、使用CLabelUI或CTextUI的Html文本效果 3、使用CTextUI控件对文字宽度自适应的特性 4、CRichEditUI富文本控件使用注意点 4.1、指定CRichEditUI加在2.0版本的Riched20.dll库 4.2、解决向CRichEditUI中插入文字后显示空白的问题 5、设置窗口…

STL——栈和队列和优先队列

栈和队列和优先队列 概述std::堆栈核心函数和操作成员函数示例注意事项 std::队列核心函数和操作成员函数示例注意事项 std::优先队列底层实现原理效率分析deque双端队列原理块结构:指针管理&am…

企业源代码加密软件|6款好用的源代码加密软件推荐

在软件开发领域,源代码作为企业最核心的资产之一,其安全性直接关系到企业的技术竞争力和商业机密保护。因此,选择一款高效、可靠的源代码加密软件对于企业来说至关重要。以下是企业源代码加密软件的六款推荐,每款软件均具备其独特…

【Android】系统架构、四大组件、结构目录

文章目录 Android系统架构Android四大组件ActivityServiceBroadcast ReceiverContent Provider 两大视图主要结构目录 Android系统架构 linux内核层 为设备的各种硬件提供了底层的驱动,如显示驱动等 系统运行库层 通过C/C库来为android提供主要的特性支持。如SQLit…

普元Devops学习笔记-devops对接jenkins提示crumb不可用问题

前言 普元devops需要对接jenkins,对接jenkins后,devops会调用jenkins的提供的API。 问题 新版本的jenkins提供跨域保护,即大名鼎鼎的CSRF问题。 因此,普元devops调用jenkins的时候,会出现跨域问题。 后台报错信息如…

【kubernetes】kubeadm部署k8s集群

1、环境准备 master01: 192.168.10.25master02: 192.168.10.26master03: 192.168.10.27node01: 192.168.10.28node02: 192.168.10.29负载均衡器1:192.168.10.30负载均衡器2:192.168.10.31 //所有节点,关闭防火墙规则,关闭selinu…

大型语言模型入门

大型语言模型ChatGPT 快速、全面了解大型语言模型。学习李宏毅课程笔记。 ChatGPT 目前由OpenAI公司发明的非常火的人工智能AI应用ChatGPT,到底是什么原理呢? G:Generative(生成) P:Pre-trained(预训练) T:Transform…

2024年7月25日(Git gitlab以及分支管理 )

分布式版本控制系统 一、Git概述 Git 是一种分布式版本控制系统,用于跟踪和管理代码的变更。它是由Linus Torvalds创建的,最 初被设计用于Linux内核的开发。Git允许开发人员跟踪和管理代码的版本,并且可以在不同的开 发人员之间进行协作。 Github 用的就是Git系统来管理它们的…

【Unity编辑器拓展】GraphView自定义可视化节点

1、创建节点区域脚本 其中的new class UxmlFactory,可以让该元素显示在UI Builder中,我们就可以在Library-Project中看到我们新建的这两个UI元素,就可以拖入我们的UI窗口编辑了 public class NodeTreeViewer : GraphView {public new class…

一文了解一下 MindSpeed,MindSpeed 是专为华为昇腾设备设计的大模型分布式加速套件。

https://gitee.com/ascend/MindSpeed Gitee Ascend/MindSpeed 项目,MindSpeed 是针对华为昇腾设备的大模型加速库。 MindSpeed 是专为华为昇腾设备设计的大模型加速库,旨在解决用户在大模型训练过程中遇到的显存资源不足等挑战。该库借鉴了 Megatron、D…

福建聚鼎:现在的装饰画还赚钱不

在轻风拂面的清晨,或在星光璀璨的夜晚,人们常常沉浸于对艺术的思考。装饰画作为艺术的一种表现形式,既丰富了人们的精神世界,又装点了生活的每一个角落。但在这个快速变化的时代,一个引人深思的问题浮出水面&#xff1…

前端-如何通过docker打包Vue服务成镜像并在本地运行(本地可以通过http://localhost:8080/访问前端服务)

1、下载安装docker,最好在vs code里安装docker的插件。 下载链接:https://www.docker.com/products/docker-desktop 🎉 Docker 简介和安装 - Docker 快速入门 - 易文档 (easydoc.net) 2、准备配置文件-dockerfile文件和nginx.conf文件 do…

postman查询单条数据Get方法,无任何输出,idea后端也没有任何数据和提示的解决方法

问题描述: 正常使用postman测试,输入内容没有错误,但是却没有任何消息 后端也是,没有任何消息: 解决方法: 问题的原因主要是因为postman: 我们只需要新建一个页面,把刚才的查询语…

《C语言程序设计 第4版》笔记和代码 第十二章 数据体和数据结构基础

12.1从基本数据类型到抽象数据类型 1 所有的程序设计语言都不能将所有复杂数据对象作为其基本数据类型,因此需要允许用户自定义数据类型,在C语言中,就存在构造数据类型(复合数据类型)。 2 结构体是构造数据类型的一种…