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操作。
注意:该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100×6=600MB

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]
max_allowed_packet=16M

#

服务器和客户端之间最大能发送的可能信息包当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。对于某些客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与MySQL服务器的连接”错误。如1153 - Got a packet bigger thanmax_allowed_packet' bytes

[myisamchk]                
key_buffer  = 256M
sort_buffer = 256M
read_buffer = 2M
write_buffer= 2M

 

 

 


2、其他可选参数

back_log = 384

#

指定MySQL可能的连接数量。当MySQL主线程在很短时间内接收到非常多的连接请求,该参数生效,主线程花费很短时间检查连接并且启动一个新线程。back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。
如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。

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 选项的客户。
默认数值是28800,可以把它改为3600。

skip-name-resolve

#

禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!

log-slow-queries = slow.log

#

记录慢查询,然后对慢查询一一优化

skip-innodb
skip-bdb

#

关闭不需要的表类型,如果你需要,就不要加上这个------跟踪并记录sql语句,在配置文件里加上如下

log=local.log
log-output=file
则sql语句就会记录在local.log文件里

 

 

二、my.ini

1、主要参数

Client Section
[client]
port = 3306

#

设置mysql客户端连接服务端时默认使用的端口

[mysql]
default-character-set=utf8

#

设置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

#

缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。

 

 

2MyISAM相关参数

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内核最大并发线程数

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全网最详解答OSPF基础

目录 此图片为思科的(有些地方不对) 总结状态机: OSPF的工作过程: 结构突变 1 突然新增一个网段--触发更新 2 突然断开一个网段--触发更新 3 无法通信---dead time OSPF的配置 ​编辑条件匹配: ​编辑1&…

Flink深入浅出之05:CEP复杂事件

深入浅出Flink-第五天 1️⃣深入理解Flink的CEP的机制和使用,Flink实时处理应用案例。 4️⃣ 要点 📖 1. Flink的复杂事件处理机制CEP 1.1 CEP概念 CEP是Complex Event Processing三个单词的缩写,表示复杂事件处理,是一种基于…

AI编程: 一个案例对比CPU和GPU在深度学习方面的性能差异

背景 字节跳动正式发布中国首个AI原生集成开发环境工具(AI IDE)——AI编程工具Trae国内版。 该工具模型搭载doubao-1.5-pro,支持切换满血版DeepSeek R1&V3, 可以帮助各阶段开发者与AI流畅协作,更快、更高质量地完…

基于腾讯云高性能HAI-CPU的跨境电商客服助手全链路解析

跨境电商的背景以及痛点 根据Statista数据,2025年全球跨境电商市场规模预计达6.57万亿美元,年增长率保持在12.5% 。随着平台规则趋严(如亚马逊封店潮),更多卖家选择自建独立站,2024年独立站占比已达35%。A…

神经网络探秘:原理、架构与实战案例

神经网络探秘:原理、架构与实战案例 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。https://www.captainbed.cn/ccc 在人工智能的浪潮中,神经网络作为核心驱动力之一…

Web网页制作(静态网页):千年之恋

一、是用的PyCharm来写的代码 二、代码中所用到的知识点(无 js) 这段HTML代码展示了一个简单的注册页面,包含了多个HTML元素和CSS样式的应用。 这段HTML代码展示了一个典型的注册页面,包含了常见的HTML元素和表单控件。通过CSS样…

win32汇编环境,对话框中使用树形视图示例四

;运行效果,当点击张辽时,展示张辽的图像 ;当点击曹仁时,展示曹仁的图像 ;win32汇编环境,对话框中使用树形视图示例四 ;当点击树形视图treeview控件中的某项时,展示某些功能。这里展示的是当点到某个将领时,显示某个将领的图像 ;直接抄进RadAsm可编译运行。重要部分加备注。…

基于SpringBoot的“体育购物商城”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“体育购物商城”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体模块设计 前台用户登录界面 系统首页界面…

c#面试题整理9

1.遍历xml文档 2.解释一下这段 String s new String("xyz"); 这段在C#平台中,编译失败 3.说明一下抽象类 抽象类可以有构造函数 抽象类不能是静态和密封的类,密封的类表示无法继承,抽象类本身就不可实例化,加不好…

第85期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

如何安全处置旧设备?

每年,数百万台旧设备因老化、故障或被新产品取代而被丢弃,这些设备上存储的数据可能带来安全风险。 如果设备没有被正确删除数据,这些数据往往仍可被恢复。因此,安全处置旧设备至关重要。 旧设备可能包含的敏感数据 旧设备中可能…

【物联网-WIFI】

物联网-WIFI ■ ESP32-C3-模块简介■ ESP32-C3-■ ESP32-C3-■ WIFI-模组■ WIFI-■ WIFI- ■ ESP32-C3-模块简介 ■ ESP32-C3- ■ ESP32-C3- ■ WIFI-模组 ■ WIFI- ■ WIFI-

Linux——system V共享内存

共享内存区是最快的IPC(进程内通信)形式,不再通过执行进入内核的系统调用来传递彼此的数据 1.共享内存的原理 IPC通信的本质是让不同的进程先看到同一份资源,然后再进行通信,所以想要通过共享内存进行通信,那么第一步一定是让两个…

爱普生可编程晶振SG-8200CJ特性与应用

在高速发展的电子技术领域,时钟源作为电子系统的“心脏”,其性能直接影响设备的稳定性与可靠性。爱普生SG-8200CJ可编程晶振凭借其优秀的频率精度、低抖动性能及广泛的环境适应性,正成为众多领域的得力之选,为各类设备的高效运行与…

基于YOLO11深度学习的运动品牌LOGO检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

小程序 wxml 语法 —— 36 wxml 语法 - setData() 修改数据

在小程序中修改数据不推荐通过赋值的方式进行修改,通过赋值的方式修改数据无法改变页面的数据; 在微信小程序中,推荐调用 setData() 方式进行修改,setData() 方法接收对象作为参数,key 是需要修改的数据,v…

Linux 生成静态库

文章目录 前提小知识生成和使用.a库操作步骤 在应用程序中,有一些公共的代码需要反复使用的,可以把这些代码制作成“库文件”;在链接的步骤中,可以让链接器在“库文件”提取到我们需要使用到的代码,复制到生成的可执行…

校验pytorch是否支持显卡GPU 不支持卸载并安装支持版本

1.输入如下命令 pythonimport torchtorch.__version__torch.cuda.is_available() // 输出False 就是不支持如下图 2.可以看到我电脑目前是不支持的 我们现在开始卸载 exit() //先退出pip uninstall torch //开始卸载这就卸载完成了 3.我们开始安装 nvidia-smi.exe //运行…

日常debug——苍穹外卖套餐修改时不回显数据

发现问题 今天在改套餐相关接口时,出现了一些问题。根据之前写的菜品和口味两个表的增删改查操作的时候,修改菜品数据时,前端页面会向后端发送请求,将菜品信息回显,口味数据也会出现。但是在写套餐相关的接口时&#…

微信小程序引入vant-weapp组件教程

本章教程,介绍如何在微信小程序中引入vant-weapp。 vant-weapp文档:https://vant-ui.github.io/vant-weapp/#/button 一、新建一个小程序 二、npm初始化 npm init三、安装 Vant Weapp‘ npm i @vant/weapp -