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

文章目录

  • 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文件来保存系统变量。

结束。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQl高级篇 -索引优化篇

索引 InnoDB采用了一个B数来存储索引,使得在千万级数据量的一个情况下,树的高度可以控制在3层以内,而层高代表磁盘IO的一个次数,因此基于索引查找可以减少磁盘IO的次数 MySQL的索引是在存储引擎层实现的,不同的存储引…

浅聊授权-spring security和oauth2

文章目录 前言自定义授权spring security授权oauth2授权概述 前言 通常说到授权,就会想到登录授权、token令牌、JWT等概念,授权。顾名思义就是服务器授予了客户端访问资源的权益,那么要实现授权有几种方案呢,三种授权方式在公司项…

【java】力扣 买卖股票的最佳时机II

文章目录 题目链接题目描述思路代码 题目链接 122.买卖股票的最佳时机II 题目描述 思路 这道题和121.买卖股票的最佳时机 有所不同,不同点在于,这道题的股票可以多次买卖(但是要在买之前先卖掉) 详细思路请看链接的文章【java】力扣 买卖股票的最佳时…

KALI使用MSF攻击安卓设备

这期是kali使用MSF进行安卓渗透的保姆级别教程,话不多说,直接开始。 准备材料: 1.装有kali的实体机或虚拟机(这里用实体机进行演示) 2.一台安卓10.0以下的手机 打开kali,先用ifconfig查看自己的kali IP地址…

RABBITMQ的本地测试证书生成脚本

由于小程序要求必须访问wss的接口,因此需要将测试环境也切换到https,看了下官方的文档 RabbitMQ Web STOMP Plugin | RabbitMQ里面有这个信息 然后敲打GPT一阵子,把要求输入几个来回,得到这样一个脚本: generate_cer…

Redis 中String类型操作命令(命令演示,时间复杂度,返回值,注意事项)

String 类型 文章目录 String 类型set 命令get 命令mset 命令mget 命令get 和 mget 的区别incr 命令incrby 命令decr 命令decrby 命令incrbyfloat 命令append 命令getrange 命令setrange 命令 字符串类型是 Redis 中最基础的数据类型,在讲解命令之前,我们…

论文分享|Arxiv2024‘麦吉尔大学|LLM2Vec—将LLM转换为文本编码器

LLM本身的表征直接用于Embedding,比如用于检索/聚类/STS等任务,效果其实不太好。因此才需要将Embedding模型和大模型区分开来。本文介绍一篇将LLM转换为Embedding模型的工作,代码全开源,值得好好学习。 论文题目:LLM2…

Qt Mqtt客户端 + Emqx

环境 Qt 5.14.2 qtmqtt mqttx 功能 QT Mqtt客户端 qtmqtt 下载 qtmqtt (注意下载与QT版本相符的库)并使用QT 编译 编译完成后需要的文件: emqx 1.虚拟机中安装emqx,并启动 curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash sudo apt-get inst…

【详解】Spring Cloud概述

🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 1. 认识微服务 1.1 单体架构 1.2 集群和分布式架构 1.3 集群和分布式…

【全面介绍Pip换源】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🦁Pip换源.⛅ 🦁当使用Pip安装Python软件包时,默认情况下会…

BayesPrism(贝叶斯棱镜法)可提取单细胞数据去卷积后将信息映射至bulkRNA数据

贝叶斯棱镜法作为一种工具可以根据scRNA数据(作为先验模型)去推断bulkRNA数据中肿瘤微环境组成(不同免疫细胞组分/不同细胞群)和基因表达情况。 开发者展示的图片就很形象了,左边图展示了把标注了不同细胞类型的单细胞数据作为先验信息(prior info)的基因信息和bul…

力扣144题:二叉树的先序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root [1] 输出&am…

【云岚到家】-day05-6-项目迁移-门户-CMS

【云岚到家】-day05-6-项目迁移-门户-CMS 4 项目迁移-门户4.1 迁移目标4.2 能力基础4.2.1 缓存方案设计与应用能力4.2.2 静态化技术应用能力 4.3 需求分析4.3.1 界面原型 4.4 系统设计4.4.1 表设计4.4.2 接口与方案4.4.2.1 首页信息查询接口4.4.3.1 数据缓存方案4.4.3.2 页面静…

【绝命Coding助力秋招】Python实现<实习僧>海投脚本

hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…

Java 实验三:数组操作以及Java中的方法

一、实验目的 1、掌握数组的声明、初始化、查找、排序等的方式; 2、掌握Java中如何定义一个方法,定义好的方法如何进行调用等。 二、实验环境 1、windows11; 2、JDK1.8,集成开发环境Eclipse。 三、实验内容 1、 定义一个函数,获取某个…

Linux系统搭建轻量级个人博客VanBlog并一键发布公网远程访问

文章目录 前言1. Linux本地部署2. VanBlog简单使用3. 安装内网穿透4. 创建公网地址5. 创建固定公网地址 前言 今天和大家分享如何在Linux Ubuntu系统搭建一款轻量级个人博客VanBlog,并结合cpolar内网穿透软件生成公网地址,轻松实现随时随地远程访问本地…

网络配置命令

文章目录 一、查看网络接口信息 ifconfig1.1 网络接口名称1.2 使用 ifconfig 查看网络接口信息1.2.1 输出示例1.2.2 输出解释 1.3 查看特定网络接口信息1.3.1 输出示例 1.4 查看所有网络接口信息1.5 特殊网络接口 二、修改网络配置文件2.1 配置文件示例2.2 使配置生效2.3 关闭 …

JavaScript日期对象倒计时案例

思路&#xff1a;1.先求出当前时间的总毫秒数 2.再求出所需要求的时间的总毫秒数 3.用所求时间的减去当前时间的可得到倒计时剩余时间 4.最后将所求的倒计时剩余时间转换为天&#xff0c;小时&#xff0c;分钟&#xff0c;秒即可 <!DOCTYPE html> <html lang"en…

1.31、基于长短记忆网络(LSTM)的发动机剩余寿命预测(matlab)

1、基于长短记忆网络(LSTM)的发动机剩余寿命预测的原理及流程 基于长短期记忆网络(LSTM)的发动机剩余寿命预测是一种常见的机器学习应用&#xff0c;用于分析和预测发动机或其他设备的剩余可用寿命。下面是LSTM用于发动机剩余寿命预测的原理和流程&#xff1a; 数据收集&#…

可观察性优势:掌握当代编程技术

反馈循环是我们开发人员工作的关键。它们为我们提供信息&#xff0c;并让我们从用户过去和现在的行为中学习。这意味着我们可以根据过去的反应进行主动开发。 TestComplete 是一款自动化UI测试工具&#xff0c;这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的…