MySQL学习记录 —— 이십일 MySQL服务器配置与管理(1)

news2024/9/21 21:25:32

文章目录

  • 1、配置和默认值
  • 2、系统变量和选项
    • 1、介绍
    • 2、常用选项
    • 3、使用系统变量
  • 3、常用服务器配置
  • 4、查看状态变量
  • 5、MySQL数据目录


mysql的服务端就是mysqld,d就是daemon,守护进程的意思。

配置文件中[mysqld]部分时服务器支持的启动选项。服务器的部分系统变量可以被修改,反映启动选项的当前状态;状态变量不可修改,这些变量包含了有关运行时操作的计数器和统计信息。

1、配置和默认值

查看服务器的默认选项和系统变量值

mysqld --verbose --help

下面是连接到MySQL后才能执行的SQL语句。

服务器运行时系统变量的值:

 SHOW VARIABLES;
 # 具体的某个变量
 SHOW VARIABLES like 'tmpdir';
 # 或者用通配符也可以查询
 SHOW VARIABLES like '%tmp%'; 

查看服务器在运行时的一些统计和状态指示器

SHOW STATUS;

系统变量和状态信息也可以用 mysqladmin命令来查看,以下两个命令都行。

mysqladmin variables
mysqladmin extended-status

这些也可以查看官方文档

MySQL 8.4

官方文档给的表的表头:

在这里插入图片描述

除去name外,依次表示是否支持命令行,是否支持选项文件,是否是系统变量,是否是状态变量,作用域,是否可以动态设置( 即运行时设置 )。

注意:系统变量、状态变量的作用域分为:Global (全局),Session (当前会话或连接),或 两者都支持。全局是指所有客户端都生效,当前会话是指某个客户端生效。

2、系统变量和选项

1、介绍

为确保服务器每次运行时都使用相同的选项,最好的办法是在选项文件指定相应的启动选项。mysqld从选项文件的[mysqld]和[server]部分读取选项。

对于mysqld的启动脚本,官方说明:

在这里插入图片描述

服务器的启动选项最详细的说明就是在官方文档

MySQL 8.4

也可以直接用bash命令查看选项和系统变量

mysqld --verbose --help

启动mysql后下面的命令只显示系统变量

SHOW VARIABLES;

2、常用选项

在这里插入图片描述

latin1字符集不能保存中文。服务器的默认排序中,0900表示unicode的版本9,ai表示口音敏感,ci表示大小写不敏感,另外的看官方文档。MySQL 8.4

在这里插入图片描述

general-log-file通常要指定绝对路径。slow-query-log-file和log-error也是如此。

在这里插入图片描述

max-connections可以理解为MySQL服务器支持的最大并发数。

3、使用系统变量

通过系统变量来改变服务器的一些配置。比如缓冲区,最大数据包大小。

设置系统变量时,破折号和下划线可以互换使用,比如–general_log=ON和–general-log=ON是等价的。

当使用选项设置⼀个数值的变量时,可以带有后缀 K 、 M 或 G (大小写不限)表示 1024 、1024^2 或 1024^3 ;从MySQL 8.0.14 开始,后缀也可以用 T 、 P 和 E 来表示 1024^4 、1024^5 或 1024^6。

在这里插入图片描述

系统变量有两个作用域,全局global和会话session,全局影响服务器的整体操作,会话影响各个客户端连接的操作。全局变量的初始值是默认值或者选项指定的值,会话变量的初始值是全局变量的值或者自己设置的值。

大部分系统变量是动态的,在服务器运行时通过SET来调整,需要指定作用域(也可以在前面加上@@修饰符),然后指定系统变量的名称,名称必须使用下划线而不是破折号。

SET GLOBAL max_connections = 1000;
SET @@GLOBAL.max_connections = 1000;

要指定作用域的原因是因为系统变量的作用域不是一样的,有仅全局有仅会话,也有都包含的。另外系统变量名称也必须写对,否则查不到。

将全局系统变量持久化到mysqld-auto.cnf文件,同时设置运行时值:

SET PERSIST max_connections = 1000;
SET @@PERSIST.max_connections = 1000;

不同时设置:

SET PERSIST_ONLY max_connections = 1000;
SET @@PERSIST_ONLY.max_connections = 1000;

Linux和Unix系统读取的选项文件,从上到下,读取顺序从先到后,优先级从低到高。
在这里插入图片描述

最后一行这个文件默认不存在,只能在执行SET PERSIST之后自动生成。

删除持久化的系统变量:

RESET PERSIST IF EXISTS system_var_name;

设置会话的系统变量,时区为"+8:00":

SET SESSION time_zone='+8:00';
SET @@SESSION.time_zone='+8:00';
SET @@time_zone='+8:00';

default-time-zone则是选项文件中配置的,不是系统变量。

后缀KM这些,不能在SET语句中使用。

SQL语句SHOW VARIABLES查看所有系统,再加上like来找到具体的某个变量,也可以用通配符。

在这里插入图片描述

一部分系统变量是内置的,也有一些需要通过安装服务器插件或组件才可以使用。比如用于审计插件 audit_log 实现了名为 audit_log_policy 的系统变量;错误日志过滤组件 log_filter_dragnet 实现了名为log_error_filter_rules 的系统变量。

8.4版本可以动态设置的系统变量:MySQL 8.4

3、常用服务器配置

在这里插入图片描述

每个部分都要隔几个空行,最后光标停留一个空行上。

[client]

default-character-set=utf8mb4



[mysqld]

# MySQL 服务启动后监听的端口号
port=3306

# MySQL 服务器的字符集与排序规则
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci

# 新建表时使用的存储引擎
default_storage_endgine=INNODB

# 时区
default-time-zone='+8:00'

图中剩余的部分是自带的文件路径。

4、查看状态变量

SHOW [GLOBAL | SESSION] STATUS [like status_name];

5、MySQL数据目录

MySQL 服务器的管理信息、业务数据、日志文件、磁盘缓冲文件默认存储在数据目录下,是MySQL工作时主要操作的目录,最重要的目录之一。

管理的信息包含用户名和密码,用户的授权,系统变量默认值,维护的库和表。业务数据包含用户创建的库和表以及表中的数据。

数据目录在/var/lib/mysql目录,通过选项datadir修改。

在这里插入图片描述

binlog是二进制日志文件;所有的.pem文件是自动生成的SSL和RSA证书和密钥文件;随后的两个#开头的文件是双写缓冲区文件;ib_buffer_pool缓存了内存池中的数据,ibdata1是表空间相关的文件;接着的两个蓝体字的文件是保存重做日志的日志文件;mysql,performance_schema,sys是系统级别的库;mysql.ibd是系统级别的管理信息;最后两个undo是撤销表空间,保存撤销日志的文件。如果有动态设置的系统变量,还会有一个mysqld-auto.cnf文件来保存系统变量。

结束。

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

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

相关文章

flv文件转换成mp4?这四种转换方法肯定可以帮到你!

flv文件转换成mp4?FLV格式曾一度以其独特的地位,为视频传输领域注入了新的活力,然而,随着时间的流逝和技术的进步,这种格式也出现了很多问题,其最大的困扰在于兼容性的局限,尽管在某些特定场合下…

客户管理必备:快速学会群发微信信息新技能!

当我们用微信向客户传递祝福、福利等重要信息时,随着微信好友人数不断增加,在微信里挑选好友发送信息,既费时又费力,还容易因个人疏忽导致重要客户遗漏。 为了有效地解决上述问题,企业可以借助微信管理系统中群发管理功…

卸载wps office的几种方法收录

​ 第一种方法: 1.打开【任务管理器】,找到相关程序,点击【结束任务】。任务管理器可以通过左下角搜索找到。 2.点击【开始】-【设置】-【应用】-下拉找到WPS应用,右键卸载,不保留软件配置 …

不会用电子商务知识库?五项基本方法让你业务增长100%

电子商务公司正努力增加利润并减少支出。该行业正在不断发展,预计到 2040 年,95% 的所有购买行为都将通过电子商务进行。话虽如此,竞争依然激烈——95% 的客户表示,客户服务是决定是否与公司开展业务的关键因素。在购买过程中更快…

tomcat搭建

目录 1 Tomcat简介 2 Tomcat安装 2.1 安装JDK 2.2 安装Tomcat 3 Tomcat目录结构 3.1 tomcat主目录介绍 3.2 Tomcat配置文件目录介绍 3.3 Tomcat web管理功能 1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个…

1985年-2020年中国历年私人汽车保有量统计报告

数据来源于国家统计局,为1985年到2020年中国每年私人汽车拥有量(包括客车、货车和其他汽车)。2020年,中国私人汽车拥有量为2.43亿辆。 数据统计单位为:万辆 数据说明: 私人汽车包括私人载客汽车和私人载…

如何预防最新的baxia变种勒索病毒感染您的计算机?

引言 在当今数字化时代,网络安全威胁层出不穷,其中勒索病毒已成为企业和个人面临的重大挑战之一。近期,.baxia勒索病毒以其高隐蔽性和破坏性引起了广泛关注。本文将详细介绍.baxia勒索病毒的特点、传播方式,并给出相应的应对策略…

超时导致SparkContext构造失败的问题探究

文章目录 1.前言2. 基于事故现场对问题进行分析2.1 日志分析2.2 单独测试Topology代码试图重现问题 3. 源码解析3.1 Client模式和Cluster模式下客户端的提交和启动过程客户端提交时在两种模式下的处理逻辑ApplicationMaster启动时在两种模式下的处理逻辑 3.2 两种模式下的下层角…

谷粒商城P85发布商品时规格参数不显示问题

P85讲,发布商品,点击下一步之后,发现规格参数不显示 打开控制台发现报错forEach...错误 查了问题原因,发现返回的分组中个别组的关联属性(attrs)可能为null 所以这个时候,需要确保后端返回的attrs不能为null 方式1…

【可视化大屏系列】Echarts之饼图绘制

本文为个人近期学习总结,若有错误之处,欢迎指出! Echarts之饼图绘制 前言1.需求2.实现效果3.大概思路4.代码实现子组件写法父组件写法5.附加(1)圆环饼图的绘制(2)南丁格尔玫瑰饼图A.半径展示数据的大小B.面积展示数据的大小前言 在前文页面布局、DataV 的使用、Echarts…

低代码:企业数字化转型的核心工具

在全球数字化浪潮风起云涌的当下,企业面临着前所未有的市场挑战与内部需求变化,急需以更快速、更灵活的方式响应。在这一关键时期,JNPF快速开发平台以其卓越的性能和广泛的功能覆盖,逐渐成为企业数字化转型的核心工具。 JNPF深度…

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-最高分和数据记录(十一)

文章目录 得分界面修改数据显示数据记录资源 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船…

贪心算法案例

1.买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…

机器学习开源分子生成系列(2)-基于三维形状和静电相似性的DeepFMPO v3D安装及使用

前言 本文是基于 3D 的分子生成方法DeepFMPO v3D的介绍及安装使用。 一、DeepFMPO v3D是什么? github代码介绍文章 在药物发现中,如何寻找具新颖性和结构多样性的候选分子是颇受药物设计科学家关注的问题。通过虚拟筛选的化学空间搜索往往会受限于筛选…

嵌入式linux相机 框图

摄像头读取数据显示到LCD流程 重点:摄像头数据(yuyv,mjpeg,rgb)(640,320)与LCD显示数据(RGB)(480,240)不同;需要转换&…

JVM:运行时数据区

文章目录 一、总览二、程序计数器1、介绍2、程序计数器在运行中会出现内存溢出吗? 三、栈1、介绍2、栈帧的组成部分(1)局部变量表(2)操作数栈(3)帧数据(3)栈内存溢出&…

js中使用原型链增加方法后,遍历对象的key-value时会遍历出方法

原因:js使用原型链实现方法时,这个方法默认是可迭代的,所以在遍历时就会被遍历出来, 例: Array.prototype.remove function(n){return this.slice(0,n).concat(this.slice(n1,this.length));}var cc ["cccaaaa…

【算法】Splay详解

Splay 引入 Splay旋转操作splay操作插入操作查询x排名查询排名为x删除操作查询前驱/后继模板Splay时间复杂度分析 进阶操作截取区间区间加,区间赋值,区间查询,区间最值区间翻转原序列整体插入指定位置插入整体插入末尾区间最大子段和 一些好题…

【windows|014】TCP协议详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

LLM用于时序预测真的不行,连推理能力都没用到

语言模型真的能用于时序预测吗?根据贝特里奇头条定律(任何以问号结尾的新闻标题,都能够用「不」来回答),答案应该是否定的。事实似乎也果然如此:强大如斯的 LLM 并不能很好地处理时序数据。 时序&#xff0…