asp.net网站开发教程 pdf/seo流量排名软件
2.MySQL的调控按钮——启动选项和系统变量
- 1.启动选项和配置文件
- 1.1 在命令行上使用选项
- 1.2 配置文件中使用选项
- 1.2.1 配置文件路径
- 1.2.2 配置文件的内容
- 1.2.3 特定 MySQL 版本的专用选项组
- 1.2.4 配置文件的优先级
- 1.2.5 同一个配置文件中多个组的优先级
- 1.2.6 defaults-file 的使用
- 1.3 在命令行和配置文件中启动选项的区别
- 2.系统变量
- 2.1 系统变量简介
- 2.2 查看系统变量
- 2.3 设置系统变量
- 2.3.1 通过启动选项设置
- 2.3.2 服务器程序运行过程中设置
- 2.3.3 启动选项和系统变量的区别
- 3. 状态变量
- 4.总结
1.启动选项和配置文件
MySQL
的服务器和客户端程序有很多设置项:
- 对于
MySQL
服务器程序可以指定:- 允许同时连入的客户端数量(默认151)
- 客户端和服务器的通信方式
- 表的默认存储引擎(默认InnoDB)
- 查询缓存大小等信息
- 对于
MySQL
客户端程序可以指定:- 需要连接的服务器程序所在主机的主机名或
IP
地址、用户名及密码等信息
- 需要连接的服务器程序所在主机的主机名或
上述设置项都可以在程序启动时修改默认值,对于这种在程序启动时指定的设置项也称之为启动项(startup option),这些选项控制着程序(MySQL 安装目录的 bin 目录下的各种可执行文件)启动后的行为。这些启动选项可以在命令行中指定,也可以在配置文件中指定。
1.1 在命令行上使用选项
在启动服务器程序时就禁止各客户端使用 TCP/IP 网络进行通信,可以在启动服务器程序的命令行中添加 skip-networking
启动选项:
mysqld --skip_networking
注:
在命令行中指定启动选项时需要在选项名前加上 – 前缀。如果选项名是由多个单词构成的,它们之间可以由短划线 - 连接,也可以使用下划线 _ 连接。也就是说 skip_networking 和 skip-networking 是等价的
按上述命令启动服务器程序后,如果再使用 mysql 来启动客户端程序,把服务器主机名指定为 127.0.0.1 (IP地址的形式)的话会显示连接失败:
mysql -h127.0.0.1 -uroot -p
Enter password:ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61)
启动客户端程序时,在 -h 参数后边紧跟服务器 IP
地址,这就意味着客户端要求和服务器之间通过 TCP/IP 网络进行通信。
如果我们想改变表的默认存储引擎,可以这样启动服务器程序:
mysqld --default-storage-engine=MyISAM查看表结构:SHOW CREATE TABLE 表名\G
总结一下,在启动服务器程序的命令后边指定启动选项的通用风格如下:
--启动选项1[=值1] --启动选项2[=值2] ... --启动选项n[=值n]
我们可以将各启动选项写到一行中,每一个启动选项名称前面添加 --,各个启动选项之间使用空白字符隔开。
大多数 MySQL
程序都提供了一个 --help 选项,可以用来查看该程序支持得全部启动选项以及它们的默认值。查看 mysqld 支持的启动选项有些特别,需要使用 mysqld --verbose --help。
1.2 配置文件中使用选项
命令行设置启动选项只对当次启动生效。如果我们将需要设置的启动选项都写在配置文件中,每次启动服务器时都从这个文件中加载相应的启动选项。(推荐)
1.2.1 配置文件路径
MySQL 程序启动时会在多个路径下寻找配置文件,这些路径有的固定,有的可以在命令行中指定。操作系统不同,寻找配置文件路径也不同。
Windows OS 的配置文件
在 Windows OS 中,MySQL 会按照下表所示的路径依次寻找配置文件。
类 UNIX OS 中的配置文件
在 类 UNIX OS 中,MySQL 会按照下表所示的路径依次寻找配置文件。
1.2.2 配置文件的内容
配置文件中的启动选项呗划分为若干个组,每个组有一个组名,用中括号 [] 括起来:
每个组下边可以定义若干个启动选项,以 [server] 组为例看一下填写启动选项的形式:
[server]
option1 # 这是 option1,该选项不需要选项值
option2 = value2 # 这是 option2,该选项需要选项值
...
在配置文件中只能使用长形式的启动选项,且配置文件中指定的启动选项不允许加 – 前缀,每一行只指定一个选项,等号 = 周围可以有空白字符(在命令行中,选项名、=、选项值之间不允许有空白字符)。在配置文件中我们可以使用 # 来添加注释。
配置文件中,不同的选项组是给不同的程序使用的。如果选项组名称与程序名称相同,则组中的选项将专门应用于该程序。例如:[mysqld]
和 [mysql]
组分别应用于 mysqld
服务器程序和 mysql
客户端程序。
有两个选项组比较特别:
[server]
组下面的启动选项将作用于所有服务器程序[client]
组下面的启动选项将作用于所有客户端程序
需要注意一点,mysqld_safe
和 mysql.server
这两个程序在启动时都会读取 [mysqld]
选项组中的内容。
1.2.3 特定 MySQL 版本的专用选项组
1.2.4 配置文件的优先级
MySQL
在某些固定路径下搜索配置文件,也可以通过命令行中指定 default-extra-file
启动选项来指定额外的配置文件路径。
MySQL
将按照表 2-2 或表 2-3 中给定的顺序(具体取决于所用的操作系统)依次读取各个配置文件。如果该文件不存在则忽略。
注意:
如果在多个配置文件中设置了相同的启动选项,则以最后一个配置文件中的为准。
1.2.5 同一个配置文件中多个组的优先级
如果在同一个配置文件中,如 [mysqld]
、[server]
组里出现了同样的启动选项,将以最后一个出现的组中的启动选项为准。
1.2.6 defaults-file 的使用
如果不想让 MySQL
到默认路径下搜索配置文件,可以在命令行指定 defaults-file 选项:
mysqld --defaults-file=/tmp/myconfig.txt
这样一来,程序启动时将只在 /tmp/myconfig.txt
路径下搜索配置文件。如果文件不存在或无法访问,则会发生错误。
defaults-extra-file 和 defaults-file 的区别:
使用 defaults-extra-file 可以指定额外的配置文件路径,那些固定的配置文件路径也会被搜索。
1.3 在命令行和配置文件中启动选项的区别
在命令行中指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比如 defaults-extra-file、defaults-file 这样的选项本身就是为了指定配置文件路径的,如果再放在配置文件中使用就没啥意义了。
注意:
如果同一个启动选项既出现在命令行中,又出现在配置文件中,则以命令行中的启动选项为准!
2.系统变量
2.1 系统变量简介
2.2 查看系统变量
查看 MySQL
服务器程序支持的系统变量以及它们的当前值:
SHOW VARIABLES (LIKE 匹配的模式);
由于系统变量实在太多了,如果直接使用 SHOW VARIABLES
查看的话,就直接在屏幕上刷屏了,所以通常会使用一个 LIKE
表达式来指定过滤条件:
服务器程序默认存储引擎 InnoDB
,客户端允许的最大连接数是 151。
注意:
MySQL
服务器实际上允许 max_connections + 1 个客户端连接,额外的 1 个事给超级用户准备的(很显然这是超级用户的一个特权)。
LIKE 表达式中可以使用通配符来进行模糊查询:
这就查出了所有以 default 开头的系统变量的值。
2.3 设置系统变量
2.3.1 通过启动选项设置
大部分系统变量都可以通过在启动服务器时传送启动选项的方式来设置。
-
通过命令行添加启动选项
mysqld --default-storage-engine=MyISAM --max-connections=10
-
通过配置文件添加启动选项
[server] default-storage-engine = MyISAM max-connections = 10
注意:
对于启动选项来说,如果启动选项名由多个单词组成,各个单词之间用短划线(-)或者下划线(_)连接起来都可以;但是对于对应的系统变量来说,各个单词之间必须使用下划线(_)连接。
2.3.2 服务器程序运行过程中设置
对于大部分系统变量来说,它们的值可以在服务器程序运行过程中进行动态修改而无需停止并重启服务器。不过系统变量有作用范围之分:
-
设置不同作用范围的系统变量
多个客户端程序可以同时连接到一个服务器程序,对于同一个系统变量,不同客户端可能会设置不同的值,A 将 default_storage_engine 设置为 InnoDB,B 将 default_storage_engine 设置为 MyISAM。这样各个客户端都私有一份系统变量,这会产生2个问题:
- 有一些系统变量并不是针对单个客户端的,比如允许同时连接到服务器的客户端数量max connections、查询缓存的大小query cache size,这些公有的系统变量让某个客户端私有显然不合适。
- 一个新客户端连接到服务器时,与它对应的系统变量的值该怎么设置。
为了解决这两个问题,设计MySQL的大叔提出了系统变量的作用范围的概念。具体来说,作用范围分为下面两种。
- GLOBAL(全局范围):影响服务器的整体操作。具有 GLOBAL作用范围的系统变量可以称为全面变量。
- SESSION(会话范围):影响某个客户端连接的操作。具有 SESSION作用范围的系统变量可以称为会话变量。
服务器在启动时,会将每个全局变量初始化为其默认值(可以通过命令行或配置文件中指定的选项更改这些默认值)。
服务器还为每个连接的客户端维护一组会话变量,客户端的会话变量在连接时使用相应全局变量的当前值进行初始化(也有一些会话变量不依据相应的全局变量值进行初始化,不过这里不展开唠叨了)。
-
查看不同作用范围的系统变量
-
注意事项
2.3.3 启动选项和系统变量的区别
启动选项是在程序启动时由用户传递的一些参数,而系统变量是影响服务器程序运行行为的变量。它们之间的关系如下:
- 大部分的系统变量都可以当作启动选项传入
- 有些系统变量是在程序运行过程中自动生成的,不可以当作启动选项来设置,比如 character_set_client
- 有些启动选项也不是系统变量,比如 defaults-file
3. 状态变量
4.总结
启动选项可以调整服务器启动后的一些行为。它们可以在命令行中指定,也可以将它们写入配置文件中。
在命令行中指定启动选项时,可以将各个启动选项写到一行中,每一个启动选项名称前面添加 – ,而且各个启动选项之间使用空白字符隔开。有一些启动选项不需要指定选项值,有一些选项需要指定选项值。在命令行中指定有值的启动选项时需要注意,选项名、=、选项值之间不可以有空白字符。一些常用的启动选项具有短形式的选项名,使用短形式选项时在选项名前只加一个短划线 - 前缀。
服务器程序在启动时将会在一些给定的路径下搜索配置文件,不同操作系统的搜索路径是不同的。
配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号 [ ] 扩起来。在配置文件中指定的启动选项不允许添加 – 前缀,并且每行只指定一个选项,而且等号=周围可以有空白字符。我们可以使用 # 来添加注释。
系统变量是服务器程序中维护的一些变量,这些变量影响着服务器的行为。修改系统变量的方式如下。
- 在服务器启动时通过添加相应的启动选项进行修改
- 在运行时使用SET语句修改,下面两种方式都可以:
- SET [GLOBAL|SESSION] 系统变量名=值;
- SET [@@(GLOBAL|SESSION] 系统变量名 =值;
查看系统变量的方式如下所示:
- SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
状态变量是用来显示服务器程序运行状态的,我们可以使用下面的命令来查看,而且只能查看:
- SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];
相关文章:

2.MySQL的调控按钮——启动选项和系统变量
2.MySQL的调控按钮——启动选项和系统变量 1.启动选项和配置文件1.1 在命令行上使用选项1.2 配置文件中使用选项1.2.1 配置文件路径1.2.2 配置文件的内容1.2.3 特定 MySQL 版本的专用选项组1.2.4 配置文件的优先级1.2.5 同一个配置文件中多个组的优先级1.2.6 defaults-file 的使…...

故障诊断模型 | Maltab实现CNN卷积神经网络故障诊断
文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现CNN卷积神经网络故障诊断 模型描述 卷积神经网络(convolutional neural network)是具有局部连接、权重共享等特性的深层前馈神经网络,最早主要是用来处理图像信息。 相比于全…...

qt高精度定时器的使用停止线程应用
##线程停止 //线程停止应用 public: explicit WorkerThread(QObject *parent 0) :QThread(parent), m_bStopped(false){qDebug() << "Worker Thread : " << QThread::currentThreadId();}~WorkerThread(){stop();quit();wait();}void stop() {qDebug()…...

Spring Boot Actuator 介绍
Spring Boot Actuator是什么 Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用。 这个模块是一个采集应用内部信息暴露给外部的模块&…...

【MATLAB】安装Psychtoolbox
目录 一、下载Psychtoolbox工具包 1. 一个是这个ZTP文件 2. 分别下载 Subversion 1.7.x command-line client 和 gstreamer.freedesktop.org 二、解压工具包,保存至同一文件 三、安装到matlab 1. 安装psychtoolbox 2. 检查是否安装成功 一、下载Psychtoolbox…...

【Python机器学习】零基础掌握GradientBoostingClassifier集成学习
什么能有效地解决分类问题,特别是在数据复杂、特征多样的情况下? 面对这个问题,许多人可能会想到复杂的神经网络或深度学习方法。然而,有一种称为“梯度提升分类器”(Gradient Boosting Classifier)的算法,以其高准确度、灵活性和易用性赢得了大量用户的青睐。 假设在…...

RFNet模型数据集采集处理流程
文章目录 cityscapes数据集内容如何标注数据得到标签图片 cityscapes数据集内容 训练模型的时候下载了cityscapes里的disparity、gtFine和leftImg8bit。 共5000张图片。2975张训练,500张验证,1525test。每个目录下都有train、test和val的子目录,这些子…...

sql-50练习题6-10
sql练习题6-10题 前言数据库表结构介绍学生表课程表成绩表教师表 0-6 查询"李"姓老师的数量0-7 查询学过"李四"老师授课的同学的信息0-8 查询没学过"李四"老师授课的同学的信息0-9 查询学过编号为"01"并且也学过编号为"02"的…...

【刷题宝典NO.1】
Nim游戏 https://leetcode.cn/problems/nim-game/description/ 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。 你们轮流进行自己的回合, 你作为先手 。 每一回合,轮到的人拿掉 1 - 3 块石头。 拿掉最后一块石头的人…...

如何在深度学习领域取得个人的成功
要在深度学习领域取得个人的成功,可以考虑以下建议: 学习深度学习的基础知识:首先,建立坚实的深度学习基础知识是非常重要的。你可以学习深度学习的基本概念、神经网络的原理、常用的深度学习框架(如TensorFlow、PyTor…...

数据结构【DS】B树
m阶B树的核心特性: Q:根节点的子树数范围是多少?关键字数的范围是多少? A:根节点的子树数∈[2, m],关键字数∈[1, m-1]。 Q:其他结点的子树数范围是多少?关键字数范围是多少? Q:对任…...

Chatgpt网页版根据关键词自动批量写原创文章软件【可多开自动登录切换gpt账号】
Chatgpt网页版根据关键词自动批量写原创文章软件介绍: 1、需要放入GPT账号和密码放入在账号库.txt里,可以放入多组账号密码,账号切换轮流使用。 2、可以自定义回答指令,也可多个回答指令随机切换。 3、可以给关键词加双标题&…...

研发效能认证学员作品:快速进行持续集成应用实践丨IDCF
作者:赖嘉明 研发效能(DevOps)工程师认证学员 随着数字化转型的推进及市场竞争的加剧,越来越多的企业也意识到持续集成的重要性。 而持续集成作为一种先进的软件开发实践和工具链,可以帮助企业实现自动化构建、集成和…...

中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程
中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半…...

2024年最新水果音乐制作软件FL Studio21需要多少钱呢?
水果,全称Fruity Loop Studio,简称FL Studio。是一款全能的音乐制作软件,经过二十多年的演化更迭,其各项功能非常的先进。其开创性的Pat\song模式,也为初学者的学习提供了便利。那么水果音乐制作软件FL Studio21需要多…...

当生成式AI遇到业务流程管理,大语言模型正在变革BPM
生成式AI对各领域有很大影响,一个方面在于它改变了很多固有业务的工作流。 工作流(Workflow)是业务流程的一种实现方式,一个业务流程往往包含多个工作流范式以及相关的数据、组织和系统。 因此,提及工作流必然离不开业…...

Kotlin数据流概览
文章目录 一 什么是数据流二 创建数据流三 修改数据流四 从数据流中进行收集五 数据流捕获异常六 在不同 CoroutineContext 中执行七 Jetpack 库中的数据流八 将基于回调的 API 转换为数据流 一 什么是数据流 数据流以协程为基础构建,可提供多个值。从概念上来讲&a…...

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
1、在vscode终端执行 get-ExecutionPolicy ,显示Restricted,说明状态是禁止的。 2、更改状态: set-ExecutionPolicy RemoteSigned 出现需要管理员权限提示,可选择执行 Set-ExecutionPolicy -Scope CurrentUser 出现的ExecutionPolicy参数后输…...

036-第三代软件开发-系统时间设置
第三代软件开发-系统时间设置 文章目录 第三代软件开发-系统时间设置项目介绍系统时间设置演示效果QML 实现小伙伴自创 TumblerQt 家 Tumbler C 端实现 总结一下 关键字: Qt、 Qml、 Time、 时间、 系统 项目介绍 欢迎来到我们的 QML & C 项目!…...

C语言:杨氏矩阵、杨氏三角、单身狗1与单身狗2
下面介绍四道题目和解法 1.杨氏矩阵 算法:右上角计算 题目:有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复杂度小于O(N…...

PX4天大bug,上电反复重启,连不上QGC!
一、Debug与Bug 由于自己写的代码CPU占用率过高,解锁报错 CPU load too high!无法解锁。 于是把 COM_CPU_MAX 从默认的 90% 变为 99%(千万别这样搞,这是bug,除非想玩!)。 然后重启,飞机就反…...

归并排序——
之前我们学习过把两个有序数组合并再一起后任然有序,就叫归并; 那么,排序是否也可以把一个要排序的数组分割成两个有序的数组,然后归并,之后再拷贝回原数组,就实现了排序 但是怎么才能控制分割成的数组是有…...

阿里云企业邮箱基于Spring Boot快速实现发送邮件功能
邮件在项目中经常会被用到,比如用邮件发送通知。比如,通过邮件注册、认证、找回密码、系统报警通知、报表信息等。本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能。 邮件协议 下面先简单了解一下常见的邮件协议。常用的电子邮件协议有SMTP、…...

大数据Doris(十三):创建用户和创建数据库并赋予权限
文章目录 创建用户和创建数据库并赋予权限 一、创建用户...

【Unity小技巧】可靠的相机抖动及如何同时处理多个震动
文章目录 每篇一句前言安装虚拟相机虚拟相机震动测试代码控制震动清除震动控制震动的幅度和时间 两个不同的强弱震动同时发生源码完结 每篇一句 围在城里的人想逃出来,站在城外的人想冲进去,婚姻也罢,事业也罢,人生的欲望大都如此…...

Megatron-LM GPT 源码分析(四) Virtual Pipeline Parallel分析
引言 本文接着上一篇【Megatron-LM GPT 源码分析(三) Pipeline Parallel分析】,基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale ,通过GPT的模型运行示例,从三个维…...

IOC课程整理-8 Spring Bean作用域
1 Spring Bean作用域 2" singleton " Bean作用域 3" prototype " Bean作用域 • 注意事项 • Spring 容器没有办法管理 prototype Bean 的完整生命周期,也没有办法记录实例的存在。销毁回调方法将不会执行,可以利用 BeanPostProces…...

本地websocket服务端暴露至公网访问【内网穿透】
本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…...

C/C++跨平台构建工具CMake-----灵活添加库并实现开发和生产环境的分离
目录 1.概述2.创建项目3 配置运行项目3.1 编写开平方根示例代码3.2 编写CMake构建脚本 4.使用子模块实现求平方根的功能4.1 在子模块中实现两种求平方根的方法4.2 构建Mathfunctions子模块4.3 在根目录引用子模块的功能4.3.1 编写构建脚本4.3.2 编写C代码使用MathFunctions库中…...

javascript判断对象中是否存在某个字段
1. in 如果指定的属性在指定的对象或其原型链中,则 in 运算符返回 true。 const car { make: Honda, model: Accord, year: 1998 };console.log(make in car); // truedelete car.make; if (make in car false) {car.make Suzuki; }console.log(car.make); //…...