MySQL学习记录 —— 이십일 MySQL服务器文件系统(1)


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

结束。

相关推荐

  1. MySQL学习记录——삼 视图及用户、权限管理

    2024-07-19 16:56:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 16:56:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 16:56:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 16:56:03       58 阅读
  4. Python语言-面向对象

    2024-07-19 16:56:03       69 阅读

热门阅读

  1. css2024

    2024-07-19 16:56:03       21 阅读
  2. Jangow

    Jangow

    2024-07-19 16:56:03      22 阅读
  3. new一个对象的具体步骤

    2024-07-19 16:56:03       21 阅读
  4. Hive 的 classpath 简介

    2024-07-19 16:56:03       19 阅读
  5. ArcGIS Pro SDK (九)几何 7 多点

    2024-07-19 16:56:03       21 阅读
  6. 网络安全相关竞赛比赛

    2024-07-19 16:56:03       25 阅读
  7. Open3D点云配准介绍-点云之间进行配准

    2024-07-19 16:56:03       21 阅读
  8. windows关闭双击过后的jar 包

    2024-07-19 16:56:03       20 阅读
  9. windows下flutter国内镜像恢复成外网链接

    2024-07-19 16:56:03       17 阅读