返回顶部
首页 > 资讯 > 数据库 >聊聊MySQL中的参数
  • 723
分享到

聊聊MySQL中的参数

MySQL参数 2022-05-29 21:05:54 723人浏览 八月长安
摘要

前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 Mysql 参数是啥。本篇文章我们来聊聊 mysql 参数,学习下如何管理维护 Mysql 参数。 1.MySQL参数概念 我们所说的

前言:

在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 Mysql 参数是啥。本篇文章我们来聊聊 mysql 参数,学习下如何管理维护 Mysql 参数。

1.MySQL参数概念

我们所说的参数在官方文档中称为 系统变量(system variable),不同的变量有着不同的作用。MySQL 服务端维护了许多表示其配置的系统变量,所有变量均有默认值。一般可以在启动命令行中或配置文件中对它们进行设置。

系统变量分为全局系统变量(global)和会话系统变量(session)。有些变量既有全局变量又有会话变量,有些变量只有全局变量。全局变量影响服务器的全局操作,会话变量只影响具体客户端连接相关操作。若会话变量未单独设置,则继承自相应全局变量。

MySQL 服务启动时,会按照配置文件或命令行中指定的选项来给全局变量赋值,没有指定则按默认值处理。服务启动后,通过连接服务器并执行 SET GLOBAL var_name 语句可以动态更改部分全局变量的值。要想更改全局变量,必须具有 SUPER 权限。MySQL 还为每个客户端连接维护会话变量,连接时使用相应全局变量的当前值对客户端会话变量进行初始化。客户端可以通过 SET SESSION var_name 语句来动态更改会话变量。设置会话变量不需要特殊权限,但会话变量只作用于当前连接。

2.参数查询与变更示例

这里也要说明下,并不是所有的参数都可以动态修改,某些参数只能写入配置文件然后重启数据库才能生效。下面我们来展示下 MySQL 参数的查询与修改。


# 参数查询
show global variables like 'var_name'; //查看全局系统变量的值,可使用%通配符
show session variables like 'var_name'; //查看会话系统变量的值
show  variables like 'var_name'; //优先返回会话系统变量,若会话系统变量不存在,则返回全局系统变量。

# 也可用select查询某个特定参数
select @@global.var_name; //全局系统变量
select @@session.var_name; //会话系统变量
select @@var_name; //优先会话系统变量

# 查询示例
mysql> show global variables like 'server_id';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| server_id | 1003306 |
+---------------+---------+
1 row in set (0.00 sec)

mysql> show global variables like 'log_bin%';
+---------------------------------+-------------------------------+
| Variable_name   | Value    |
+---------------------------------+-------------------------------+
| log_bin    | ON    |
| log_bin_basename  | /data/mysql/logs/binlog |
| log_bin_index   | /data/mysql/logs/binlog.index |
| log_bin_trust_function_creators | ON    |
| log_bin_use_v1_row_events | OFF    |
+---------------------------------+-------------------------------+
5 rows in set (0.00 sec)

mysql> select @@server_id;
+-------------+
| @@server_id |
+-------------+
| 1003306 |
+-------------+
1 row in set (0.00 sec)

# 动态修改参数
set global var_name = value;
set session var_name = value;
set var_name = value;

set @@global.var_name = value;
set @@session.var_name = value;
set @@var_name = value;

# 参数修改示例
mysql> set global sort_buffer_size = 2097152;
Query OK, 0 rows affected (0.00 sec)

mysql> set session sort_buffer_size = 4194304;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@global.sort_buffer_size,@@session.sort_buffer_size;
+---------------------------+----------------------------+
| @@global.sort_buffer_size | @@session.sort_buffer_size |
+---------------------------+----------------------------+
|   2097152 |   4194304 |
+---------------------------+----------------------------+
1 row in set (0.00 sec)

参数动态修改后,建议将其写入配置文件。因为动态修改的参数在 MySQL 服务重启后会失效,只有写入配置文件才能够重启后仍有效。对于一些无法动态修改的参数,我们只能通过修改配置文件,然后重启来使之生效。这里所说的配置文件就是 my.cnf 文件了,linux 系统一般在 /etc 目录下;windows 系统一般在 basedir 目录下,名称可命名为 my.ini 。大部分参数需要配置在 [mysqld] 下,一份简单的配置文件示例如下:


vi /etc/my.cnf
# 简单模板如下:
[mysqld]
user = mysql 
datadir = /data/mysql/data  
Socket = /data/mysql/tmp/mysql.sock
pid-file = /data/mysql/tmp/mysqld.pid 
skip_name_resolve = 1
max_connections = 2000
lower_case_table_names = 1
log_timestamps=SYSTEM
max_allowed_packet = 32M
...

MySQL 参数一般由 DBA 或运维来维护,可能有些同学对这些参数还比较陌生。建议在数据库初始化时,根据服务器规格设置对应的数据库参数。对于不清楚作用的参数,建议保持默认值即可。关于更多参数相关的内容,可以参考官方文档:

https://dev.mysql.com/doc/refman/5.7/en/server-system-variable-reference.html

总结:

本篇文章详细讲述了 MySQL 参数相关概念及查询更改方法,希望各位小伙伴能学到相关知识。

以上就是MySQL中的参数是什么的详细内容,更多关于MySQL 参数的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: 聊聊MySQL中的参数

本文链接: https://lsjlt.com/news/9808.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 聊聊MySQL中的参数
    前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥。本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数。 1.MySQL参数概念 我们所说的...
    99+
    2022-05-29
    MySQL 参数
  • 聊聊R语言中Legend 函数的参数用法
    如下所示: legend(x, y = NULL, legend, fill = NULL, col = par("col"), border = "black", lty, l...
    99+
    2024-04-02
  • 聊聊javascript函数参数的使用方法
    JavaScript是一种常用的编程语言,常常被用来为网站和应用程序创建交互性用户界面。函数是JavaScript中最常用的概念之一,允许开发人员在代码中组织和重复使用代码块。函数可以接受多个参数,开发人员可以根据需求灵活使用它们。本文将介...
    99+
    2023-05-14
  • 简单聊聊Golang中defer预计算参数
    目录什么是deferGo语言defer预计算参数总结什么是defer defer用来声明一个延迟函数,把这个函数放入到一个栈上, 当外部的包含方法return之前,返回参数到调用方法...
    99+
    2024-04-02
  • 聊聊React onClick 传递参数的问题
     背景说明 在下图这样的列表中,点击删除按钮需要执行删除操作  列表产生: { title: '操作', dataIndex: 'rowguid'...
    99+
    2024-04-02
  • Python 聊聊socket中的listen()参数(数字)到底代表什么
    疑问 在调用socket的时候,我们会使用到listen()函数,里面有个参数叫backlog, 例如:socket.listen(5). 那么这个数字5到底代表什么意思呢?网上有...
    99+
    2024-04-02
  • 聊聊MySQL中的存储引擎
    基础知识    在关系型数据库中每一个数据表相当于一个文件,而不同的存储引擎则会构建出不同的表类型。    存储引擎的作用是规定数据表如何存储数据,如何为存储的数据建立索引以及如何支持更新、查询等技术的实现。    ...
    99+
    2022-05-23
    MySQL 存储引擎 MySQL 存储 MySQL 引擎
  • 聊聊Oracle表空间Offline的三种参数(下)
     6、非归档情况Offline处理 上面的一系列讨论,都是在归档文件模式下进行的实验。如果在非归档情况下,我们面对的问题是不同的。 首先,非归档模式下,表空间可以进行normal offline操作。 ...
    99+
    2023-06-06
  • 简单聊一聊Node.js参数max-old-space-size
    目录前言设置环境变量命令行方式第三种方式,基于项目总结前言 Old space是 V8 托管(也称为垃圾收集)堆(即 JavaScript 对象所在的位置)中最大和最可配置的部分,而...
    99+
    2023-01-28
    node.js参数max-old-space-size nodejs 参数 nodejs命令
  • 详细聊聊MySQL中的LIMIT语句
    目录问题 server层和存储引擎层 那LIMIT是什么鬼? 怎么办? 吐个槽 最近有多个小伙伴在答疑群里问了小孩子关于LIMIT的一个问题,下边我来大致描述一下这个问题。 问题 ...
    99+
    2024-04-02
  • 聊聊MySQL的COUNT(*)的性能
    前言 基本职场上的程序员用来统计数据库表的行数都会使用count(*),count(1)或者count(主键),那么它们之间的区别和性能你又是否了解呢? 其实程序员在开发的过程中,在一张大表上统计总行数是非常耗时的一...
    99+
    2022-05-25
    MySQL COUNT(*)
  • 聊一聊关于MySQL的count(*)
    2. count(*)的实现方式 据说,MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高。 而我们的mysql一般都是用Innodb的引擎,Innodb是怎么实现count操作的呢...
    99+
    2020-12-23
    聊一聊关于MySQL的count(*)
  • 详细聊聊golang中函数的用法
    随着计算机技术的不断发展,编程语言也在不断更新换代,其中Golang是近年来非常热门的一种编程语言,它的高效、安全、易用受到了很多开发者的喜爱。在Golang中,函数是一种非常重要的编程元素,本文将详细介绍Golang函数的用法。一、函数的...
    99+
    2023-05-14
  • 聊一聊Android中的StateListAnimator
    简评:使用 StateListAnimator 轻松实现 Material Design 效果。 Material Design 中最基础的一条原则就是 'motion ...
    99+
    2022-06-06
    Android
  • 详细聊聊MySQL中慢SQL优化的方向
    目录前言SQL语句优化记录慢查询SQL如何修改配置查看慢查询日志查看SQL执行计划如何使用SQL编写优化为何要对慢SQL进行治理总结前言 影响一个系统的运行速度的原因有很多,是多方面...
    99+
    2024-04-02
  • 聊聊PHP中die()和sleep()函数的用法
    在上一篇《聊聊PHP中删除字符串的逗号和尾部斜杠的方法》给大家介绍了PHP删除字符串中的逗号以及尾部斜杠的方法,感兴趣的朋友可以去学习了解一下~ 本文也将给大家通过示例来讲解标题所述...
    99+
    2024-04-02
  • 聊聊php中转换时间戳的函数
    PHP是一种广泛使用的服务器端编程语言,其中一个最为有用的功能是操作日期和时间。在PHP中,我们通常使用时间戳函数来处理时间相关的事务。时间戳是一种表示时间的整数值,从1970年1月1日0点0分0秒到现在的秒数。PHP提供了很多与时间戳相关...
    99+
    2023-05-14
  • 聊聊Node中怎么用async函数
    借助于新版 V8 引擎,Node 从 7.6 开始支持 async 函数特性。今年 10 月 31 日,Node.js 8 也开始成为新的长期支持版本,因此你完全可以放心大胆地在你的代码中使用 async 函数了。在这边文章里,我会简要地介...
    99+
    2023-05-14
    async node
  • 聊聊JS ES6中的解构
    概述 es6新增了一种从数组或者对象中获取指定元素的方式,这种方式就是我们今天要说的解构。 先来说说数组的解构 在有解构之前呢,我们获取数组中的指定元素通常是根据索引去做的: c...
    99+
    2024-04-02
  • 聊聊Controller中RequestMapping的作用
    目录Controller@RequestMapping作用1.value,method2.consumes,produces3.params,headersController配置总...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作