MYSQL服务器系统变量的使用

可能大家平时都经常听到一个词语叫做MySQL服务器,但是MySQL服务器到底是什么呢,可能知道的人就不是很多了,本篇博客的主要目的也就是对MySQL服务器进行一个初步的认识和解读

MySQL服务器简介

通常我们所说的MySQL服务器指的是mysqld程序(d--deamon也就是守护进程)当mysqld运行起来后mysql就可以对外提供服务了。

以下是获取一些mysql服务器信息的基础命令

查看MySQL服务器在运行时,系统变量的值 ,实际运行过程中会打印很多内容,想查询单一内容在查询结果后面加上like即可。

show variables;

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

show status;

使用系统变量

我们为什么需要使用系统变量呢,首先系统变量都是有一个默认值的,但是在有一些业务场景下,这些默认值可能和我们实际硬件和CPU这些的契合度不是非常好,举个很简单的栗子蛤,就比如我们在实际的业务过程中,有一个业务场景是随着时间的增加,业务的数据量也会不断地增加,这是我们可能就需要更多的硬件设备了,但是我们可以通过使用系统变量,来让MySQL分配更多的内存和硬盘。所有使用系统变量可以满足不同场景下的需求。

比如蛤,我们平时电脑上面的MySQL就只会占用一点内存,要是实际环境也像咱们电脑上这样的话,那过不了多久,就必须得增加新的电脑,所以我们就可以使用系统变量的设置,来控制MySQL使用尽可能多的内存和硬盘。以此来达到合理分配硬件设施的目的。

下面是一些关于使用系统变量的注释

  1. 设置系统变量的语法与命令选项的语法是相同的,指定变量名称时,破折号和下划线是可以互换使用的, --general-log=ON 和 --general_log=ON 是等价的
  2. 当使用选项设置一个数值的变量时,可以带有后缀K,M,G(大小写都行) 来表示1024,1024^2 或 1024^3 MySQL8,0,14开始后,后缀也可以使用T,P,E来表示1024^4,1024^5,1024^6

为服务器指定256kb的排序缓冲区大小和1GB的最大数据包大小 

mysql --sort-buffer-size=256K --max-allowed-packet=1G
  1.  系统变量有2个作用域,一个是Global(全局)和Session(会话) 其中全局变量会影响整个服务器的操作,而会话(Session)则只会影响各个客户端的操作,同时给定的系统变量可以同时又全局值和会话值                                                                                                                                                                                                                                                                             服务器启动时,会将灭个全局变量初始化并设置默认值,具体的值可以通过命令行或者选项文件修改(推荐选项文件)                                                                                                                                                                                                                                                           服务器为每个客户端维护一组Session变量,在客户端连接时使用相应全局变量的值初始化
  2. 大部分的系统变量是动态的,在服务器的运行过程中可以通过SET语句来进行动态更改,并且无需停止和重启服务器。在服务器运行的过程中,使用SET语句设置系统变量,需要指定作用域(或者前面加上@@修饰符),然后指定系统变量的名称,名称必须使用下划线而不是破折号

例如,设置全局系统变量最大连接数为1000

需要在mysql服务器中设置

mysql> SET GLOBAL max_connections = 1000;

mysql> SET @@GLOBAL.max_connections = 1000;

具体有哪些命令可以去官网或者其他博客瞅瞅,这里不想罗列了。

将全局系统变量持久化到mysqld-auto.cnf文件 (mysqld-auto.cnf这个文件也在\lib\mysql中的,但是这个文件是默认不存在的,在使用了SET PERSIST语句之后默认创建出来,下次服务器重启时,就会对文件进行读取,作为启动参数)

(PERSIST表示持久化的同时设置全局变量的值)

mysql> SET persist max_connections = 1000;

mysql> SET @@PERSIST.max_connections = 1000;

同时想要删除持久化语句

reset persist if exists 变量名

相关推荐

  1. MYSQL服务器系统变量使用

    2024-06-07 07:18:02       26 阅读
  2. MySQL5.7服务器系统变量(二)

    2024-06-07 07:18:02       50 阅读
  3. MySQL 5.7服务器系统变量参考

    2024-06-07 07:18:02       53 阅读
  4. MySQL5.7服务器系统变量(一)

    2024-06-07 07:18:02       46 阅读
  5. 15. Mysql 变量使用

    2024-06-07 07:18:02       63 阅读
  6. MySQL5.7 使用系统变量

    2024-06-07 07:18:02       43 阅读
  7. MySQL服务器状态变量

    2024-06-07 07:18:02       40 阅读
  8. Mysql5.7服务器选项、系统变量和状态变量参考

    2024-06-07 07:18:02       56 阅读
  9. MySQL变量定义与使用

    2024-06-07 07:18:02       28 阅读

最近更新

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

    2024-06-07 07:18:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 07:18:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 07:18:02       82 阅读
  4. Python语言-面向对象

    2024-06-07 07:18:02       91 阅读

热门阅读

  1. 深度学习 - 构建神经网络

    2024-06-07 07:18:02       26 阅读
  2. 删除MongoDB索引和缓存问题

    2024-06-07 07:18:02       23 阅读
  3. [Unity]播放音频卡顿问题

    2024-06-07 07:18:02       29 阅读
  4. iOS 实现蓝牙设备重连的四种方式

    2024-06-07 07:18:02       31 阅读
  5. Git常用指令

    2024-06-07 07:18:02       26 阅读
  6. 机器学习-降维算法,PCK,LDA,NMF,LLE

    2024-06-07 07:18:02       26 阅读
  7. npm发布自己的插件包

    2024-06-07 07:18:02       26 阅读