Mysql配置文件My.cnf(my.ini)配置参数说明
一、my.cnf
配置文件路径:/etc/my.cnf,在调整了该文件内容后,需要重启mysql才可生效。
1、主要参数
| basedir = path | # | 使用给定目录作为根目录(安装目录)。 |
| datadir = path | # | 从给定目录读取数据库文件。 |
| pid-file= filename | # | 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统) |
| [mysqld] socket = /tmp/mysql.sock | # | MySQL客户程序与服务器之间的本地通信指定一个套接字文件(Linux下默认是 /var/lib/mysql/mysql.sock文件) |
| port = 3306 | # | 指定MsSQL侦听的端口 |
| key_buffer = 384M | # | key_buffer(键高速缓存)是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写)。索引块是缓冲的并且被所有的线程共享,key_buffer的大小视内存大小而定。 |
| table_cache= 512 | # | 为所有线程可以打开表的总数量。增加该值能增加mysqld要求的文件描述符的数量。可以避免频繁的打开数据表产生的开销。 |
| sort_buffer_size= 2M | # | 每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。 |
| read_buffer_size = 2M | # | 读查询操作所能使用的缓冲区大小。和 sort_buffer_size一样,该参数对应的分配内 存也是每连接独享。 |
| query_cache_size = 32M | # | 指定MySQL查询结果缓冲区的大小 |
| read_rnd_buffer_size= 8M | # | 改参数在使用行指针排序之后,随机读用的。 |
| myisam_sort_buffer_size =64M | # | MyISAM表发生变化时重新排序所需的缓冲 |
| thread_concurrency= 8 | # | 最大并发线程数,取值为服务器逻辑CPU数量 ×2,如果CPU支持H.T超线程,再×2 |
| thread_cache = 8 | # | 缓存可重用的线程数 |
| skip-locking | # | 避免MySQL的外部锁定,减少出错几率增强稳定性。 |
| [mysqldump] | # | 服务器和客户端之间最大能发送的可能信息包当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与MySQL服务器的连接”错误。如1153 - Got a packet bigger thanmax_allowed_packet' bytes |
| [myisamchk] |
|
|
2、其他可选参数
| back_log = 384 | # | 指定MySQL可能的连接数量。当MySQL主线程在很短时间内接收到非常多的连接请求,该参数生效,主线程花费很短时间检查连接并且启动一个新线程。back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 |
| max_connections = n | # | MySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。超过限制后会报 Too many connections 错误 |
| key_buffer_size = n | # | 用来存放索引区块的RMA值(默认设置是8M),增加它可得到更好处理的索引(对所有读和多重写) |
| record_buffer | # | 每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128K) |
| wait_timeout | # | 服务器在关闭它之前在一个连接上等待行动的秒数。 |
| interactive_timeout: | # | 服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 CLIENT_INTERACTIVE 选项的客户。 |
| skip-name-resolve | # | 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求! |
| log-slow-queries = slow.log | # | 记录慢查询,然后对慢查询一一优化 |
| skip-innodb | # | 关闭不需要的表类型,如果你需要,就不要加上这个------跟踪并记录sql语句,在配置文件里加上如下 log=local.log |
二、my.ini
1、主要参数
| Client Section | # | 设置mysql客户端连接服务端时默认使用的端口 |
| [mysql] | # | 设置mysql客户端默认字符集 |
| port=3306 | # | mysql服务端默认监听(listen on)的TCP/IP端口 |
| basedir= path | # | 基准路径,其他路径都相对于这个路径 |
| datadir= path | # | mysql数据库文件所在目录 |
| character-set-server=latin1 | # | 服务端使用的字符集默认为8比特编码的latin1字符集 |
| default-storage-engine=INNODB | # | 创建新表时将使用的默认存储引擎 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # SQL模式为strict模式 |
| max_connections=100 | # | mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。 |
| query_cache_size=0 | # | 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置 query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反 |
| table_cache=256 | # | 这个参数在5.1.3之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与 Max_connections有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。 |
| tmp_table_size=34M | # | 内存中的每个临时表允许的最大大小。如果 临时表大小超过该值,临时表将自动转为基 于磁盘的表(Disk Based Table)。 |
| thread_cache_size=8 | # | 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。 |
2、MyISAM相关参数
| myisam_max_sort_file_size=100G | # | mysql重建索引时允许使用的临时文件最大大小 |
| myisam_sort_buffer_size=68M | # |
|
| key_buffer_size=54M | # | Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读) |
| read_buffer_size=64K | # | 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。 |
| read_rnd_buffer_size=256K | # |
|
| sort_buffer_size=256K | # | connection级参数(为每个线程配置),500个线程将消耗500*256K的 |
3、InnoDB相关参数
| innodb_additional_mem_pool_size=3M | # | InnoDB用于存储元数据信息的内存池大小,般不需修改 |
| innodb_flush_log_at_trx_commit=1 | # | 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。 |
| innodb_log_buffer_size=2M | # | InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以 没必要设置过大,即使是长事务 |
| innodb_buffer_pool_size=105M | # | InnoDB使用缓冲池来缓存索引和行数据。 该值设为物理内存的80%。 |
| innodb_log_file_size=53M | # | 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100% |
| innodb_thread_concurrency=9 | # | InnoDB内核最大并发线程数 |
相关文章:
Mysql配置文件My.cnf(my.ini)配置参数说明
一、my.cnf 配置文件路径:/etc/my.cnf,在调整了该文件内容后,需要重启mysql才可生效。 1、主要参数 basedir path # 使用给定目录作为根目录(安装目录)。 datadir path # 从给定目录读取数据库文件。 pid-file filename # 为mysq…...
利用LLMs准确预测旋转机械(如轴承)的剩余使用寿命(RUL)
研究背景 研究问题:如何准确预测旋转机械(如轴承)的剩余使用寿命(RUL),这对于设备可靠性和减少工业系统中的意外故障至关重要。研究难点:该问题的研究难点包括:训练和测试阶段数据分布不一致、长期RUL预测的泛化能力有限。相关工作:现有工作主要包括基于模型的方法、数…...
【RAG】RAG 系统的基本搭建流程(ES关键词检索示例)
RAG 系统的基本搭建流程 搭建过程: 文档加载,并按一定条件切割成片段将切割的文本片段灌入检索引擎封装检索接口构建调用流程:Query -> 检索 -> Prompt -> LLM -> 回复 1. 文档的加载与切割 # !pip install --upgrade openai…...
记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)
文章目录 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)一、创建项目1.1 生成提示词1.2 生成代码 二、编译预览2.1 导入项目2.2 编译预览 三、发布3.1 在微信开发者工具进行上传3…...
游戏引擎学习第146天
音高变化使得对齐读取变得不可能,我们可以支持循环声音了。 我们今天的目标是完成之前一段时间所做的音频代码。这个项目并不依赖任何引擎或库,而是一个教育项目,目的是展示从头到尾运行一个游戏所需要的全部代码。无论你对什么方面感兴趣&a…...
nodejs关于后端服务开发的探究
前提 在当前的环境中关于web server的主流开发基本上都是java、php之类的,其中java spring系列基本上占了大头,而python之流也在奋起直追,但别忘了nodejs也是可以做这个服务的,只是位置有点尴尬,现在就来探究下nodejs…...
Java 大视界 -- Java 大数据在智能体育赛事运动员表现分析与训练优化中的应用(122)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
线性代数之矩阵特征值与特征向量的数值求解方法
文章目录 前言1. 幂迭代法(Power Iteration)幂法与反幂法求解矩阵特征值幂法求最大特征值编程实现补充说明 2. 逆幂迭代法(Inverse Iteration)移位反幂法 3. QR 算法(QR Algorithm)——稠密矩阵理论推导编程…...
SparkAi系统体验
DeepSeek-R1-671B大模型满血版私有化部署高可用教程-SparkAi系统集成图文教程 一、SparkAI是什么二、功能模块介绍系统快速体验 三、系统功能模块3.1 AI全模型支持/插件系统3.2 AI智能体应用3.3 AI专业绘画3.4 AI视频生成3.5 Dall-E2/E3/E4绘画3.6 智能思维导图生成3.7 AI绘画广…...
软件工程---构件
在软件工程中,构件是一个独立的、可复用的软件单元,它具有明确的功能、接口和行为,并且可以在不同的环境中加以集成和复用。构件的概念是软件架构和组件化开发的核心思想之一,其目的是促进软件系统的模块化、可维护性和可扩展性。…...
视频录像机视频通道是指什么
视频录像机的视频通道是指摄像机在监控矩阵或硬盘录像机设备上的视频输入的物理位置。 与摄像头数量关系:在视频监控系统中,有多少个摄像头就需要多少路视频通道,通道数量决定了视频录像机可接入摄像头的数量,一般硬盘录像机有4路…...
【Unity】 HTFramework框架(六十一)Project窗口文件夹锁定器
更新日期:2025年3月7日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 Project窗口文件夹锁定器框架文件夹锁定自定义文件夹锁定限制条件 Project窗口文件夹锁定器 在Project窗口中,文件夹锁定器能够为任何文件夹加…...
INFINI Labs 产品更新 | Easysearch 增加异步搜索等新特性
INFINI Labs 产品更新发布!此次更新,Easysearch 增加了新的功能和数据类型,包括 wildcard 数据类型、Point in time 搜索 API、异步搜索 API、数值和日期字段的 doc-values 搜索支持,Console 新增了日志查询功能。 INFINI Easyse…...
3.6c语言
#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <stdio.h> int main() {int sum 0,i,j;for (j 1; j < 1000; j){sum 0;for (i 1; i < j; i){if (j % i 0){sum i;} }if (sum j){printf("%d是完数\n", j);}}return 0; }#de…...
基于Kubernetes部署MySQL主从集群
以下是一个基于Kubernetes部署MySQL主从集群的详细YAML示例,包含StatefulSet、Service、ConfigMap和Secret等关键配置。MySQL主从集群需要至少1个主节点和多个从节点,这里使用 StatefulSet 初始化脚本 实现主从自动配置。 1. 创建 Namespace (可选) ap…...
Docker基础篇——Ubuntu下Docker安装
大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起进行Docker安装。 Docker的官方Ubuntu安装文档,如…...
postman接口请求中的 Raw是什么
前言 在现代的网络开发中,API 的使用已经成为数据交换的核心方式之一。然而,在与 API 打交道时,关于如何发送请求体(body)内容类型的问题常常困扰着开发者们,尤其是“raw”和“json”这两个术语之间的区别…...
物联网设备接入系统后如何查看硬件实时数据?
要在软件中实时查看硬件设备的信息,通常需要结合前后端技术来实现。以下是设计思路和实现步骤: 1. 系统架构设计 实时查看硬件设备信息的系统通常采用以下架构: 数据采集层: 硬件设备通过传感器采集数据,发送到InfluxDB。数据存…...
最新版本TOMCAT+IntelliJ IDEA+MAVEN项目创建(JAVAWEB)
前期所需: 1.apache-tomcat-10.1.18-windows-x64(tomcat 10.1.8版本或者差不多新的版本都可以) 2.IntelliJ idea 24年版本 或更高版本 3.已经配置好MAVEN了(一定先配置MAVEN再搞TOMCAT会事半功倍很多) 如果有没配置…...
《生成对抗网络:当AI学会自我博弈的艺术》
2023年DALLE 2生成的《太空歌剧院》斩获艺术比赛大奖时,我在画作前驻足了整整十分钟——那些光影的渐变、笔触的韵律,竟来自两个神经网络的博弈游戏。这让我想起AlphaGo自我对弈突破人类棋谱局限的往事,生成对抗网络(GANÿ…...
【Linux学习笔记】Linux基本指令分析和权限的概念
【Linux学习笔记】Linux基本指令分析和权限的概念 🔥个人主页:大白的编程日记 🔥专栏:Linux学习笔记 文章目录 【Linux学习笔记】Linux基本指令分析和权限的概念前言一. 指令的分析1.1 alias 指令1.2 grep 指令1.3 zip/unzip 指…...
PHP之常用函数
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于常用函数的信息。 获取时间 //获取时间 后面跟自定义时间格式 echo date("Y-m-d H:i:s");删除变量 unset($a);判断变量是否存在 var_dump(isset($a));判断变量是否为null va…...
Leetcode 刷题记录 05 —— 普通数组
本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答。 目录 01 最大子数组和 方法一:动态规划(卡达尼算法) 方法…...
【LLM】kimi 1.5模型架构和训练流程
note 推出两个多模态模型,深度思考模型 long-CoT 对标 o1,通用模型 short-CoT 模型对标 gpt-4o。 文章目录 note一、kimi 1.5模型训练流程预训练SFT训练long-CoT SFTRL训练long2short 小结Reference 一、kimi 1.5模型训练流程 推出两个多模态模型&…...
deepseek在pycharm中的配置和简单应用
对于最常用的调试python脚本开发环境pycharm,如何接入deepseek是我们窥探ai代码编写的第一步,熟悉起来总没坏处。 1、官网安装pycharm社区版(免费),如果需要安装专业版,需要另外找破解码。 2、安装Ollama…...
第二十四天 学习分布式数据管理,了解如何在多个设备间共享数据
HarmonyOS分布式数据管理实战:轻松实现多设备数据共享 一、为什么需要分布式数据管理? 在万物互联的时代,我们的智能设备数量正在快速增长。根据IDC最新报告,2023年平均每个用户拥有6.2台智能设备。HarmonyOS的分布式能力正是为…...
Android15 Camera框架中的StatusTracker
StatusTracker介绍 StatusTracker是Android15 Camera框架中用来协调Camera3各组件之间状态转换的类。 StatusTracker线程名:std::string("C3Dev-") mId "-Status" Camera3 StatusTracker工作原理 StatusTracker实现批处理(状态…...
MyBatis-Plus 注解大全
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 MyBatis-Plus 注解大全 MyBatis-Plus 是基于 MyBatis 的增强工具,通过注解简化了单表 CRUD 操作和复杂查询的配置。以下是常用注解的分类及详细说…...
【MySQL_03】数据库基本--核心概念
文章目录 一、数据库基础1.1 数据库基础定义1.2 数据库分类与典型产品1.3 数据库模型1.4 数据库层次结构1.5 数据库核心机制1.6 数据表和视图1.61 数据表(Table)1.62 视图(View) 1.7 键类型1.8 MySQL数据类型1.9 数据库范式化 二、…...
Ubuntu 下 nginx-1.24.0 源码分析 (1)
main 函数在 src\core\nginx.c int ngx_cdecl main(int argc, char *const *argv) {ngx_buf_t *b;ngx_log_t *log;ngx_uint_t i;ngx_cycle_t *cycle, init_cycle;ngx_conf_dump_t *cd;ngx_core_conf_t *ccf;ngx_debug_init(); 进入 main 函数 最…...
