百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

MySQL 配置文件my.cnf参数说明

bigegpt 2025-05-24 12:23 13 浏览

[client]

port = 3306

[mysqld]

#默认存储引擎INNODB

default-storage-engine=INNODB

#GROUP_CONCAT长度

group_concat_max_len =99999

#端口号

port = 3306

#套接字文件

#这里要注意:有时候重启mysql会提示/tmp/mysql.sock不存在,此时通常会由于两种情况导致,解决方法可以参考我之前记录的文章,亲测有效:
https://www.cnblogs.com/zhangweizhong/p/12179452.html

socket = /usr/local/mysql/mysql.sock

#pid写入文件位置

pid-file = /usr/local/mysql/mysqld.pid

#数据库文件位置

datadir = /home/data/mysql/data

#控制文件打开的个数;

open_files_limit = 10240

#当外部锁定(external-locking)起作用时,每个进程若要访问数据表,

#则必须等待之前的进程完成操作并解除锁定。由于服务器访问数据表时经常需要等待解锁,

skip-external-locking


#跳过DNS反向解析

skip-name-resolve

#关闭TIMESTAMP类型默认值

explicit_defaults_for_timestamp

#不受client字符集影响,保证sever端字符集

skip-character-set-client-handshake


#初始连接字符集UTF8

init-connect='SET NAMES utf8'


#默认数据库字符集

character-set-server=utf8

#查询缓存0,1,2,分别代表了off、on、demand

query_cache_type = 1

#单位秒,握手时间超过connect_timeout,连接请求将会被拒绝

connect_timeout = 20


#设置在多少秒没收到主库传来的Binary Logs events之后,从库认为网络超时,Slave IO线程会重新连接主库。

#该参数的默认值是3600s

slave_net_timeout = 30

#这个参数用来配置从服务器的更新是否写入二进制日志,这个选项默认是不打开的,

log-slave-updates=1

#用于slave服务器,io线程会把server id与自己相同的event写入日志,与log-slave-updates选项冲突

replicate-same-server-id=0

server_id=10112879101

# 打开二进制日志功能.

log-bin =/home/data/mysql/binlog/mysql-bin.log

#relay-log日志

relay-log=mysql-relay-bin

master-info-repository=TABLE

relay-log-info-repository=TABLE

#不写入binlog二进制日志中的数据库

binlog-ignore-db=mysql # No sync databases

binlog-ignore-db=test # No sync databases

binlog-ignore-db=information_schema # No sync databases

binlog-ignore-db=performance_schema # No sync databases

#写入binlog二进制日志中数据库

binlog-do-db=business_db

binlog-do-db=user_db

binlog-do-db=plocc_system

#清理binlog

expire-logs-days=15

max_binlog_size = 1073741824 # Bin logs size ( 1G )

#使binlog在每1000次binlog写入后与硬盘同步

sync_binlog = 1000

#指定只复制哪个库的数据

replicate-do-db=business_db

replicate-do-db=user_db

replicate-do-db=plocc_system

#开启事件调度器Event Scheduler

event_scheduler=1


#MySQL能暂存的连接数量。

back_log = 500


#MySQL允许最大的进程连接数,

max_connections = 6000


#每个用户的最大的进程连接数

max_user_connection = 3000

#每个客户端连接请求异常中断的最大次数

max_connect_errors = 6000

#表调整缓冲区大小。

table_cache = 614


#表描述符缓存大小,可减少文件打开/关闭次数

table_open_cache = 2048

#设置在网络传输中一次消息传输量的最大值。

max_allowed_packet = 64M

# 在一个事务中binlog为了记录SQL状态所持有的cache大小

binlog_cache_size = 1M

# 独立的内存表所允许的最大容量.

max_heap_table_size = 256M


#Sort_Buffer_Size被用来处理类似ORDER BY以及GROUP

sort_buffer_size = 8M


#用于表间关联缓存的大小,和sort_buffer_size一样,该参数对应的分配内存也是每个连接独享。

join_buffer_size = 8M

#thread_cache_size表示可以重新利用保存在缓存中线程的数量

thread_cache_size = 128

#此值表示允许应用程序在同一时间运行的线程的数量.

thread_concurrency = 8

#此值用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果

query_cache_size = 64M

#指定单个查询能够使用的缓冲区大小

query_cache_limit = 2M

#被全文检索索引的最小的字长

ft_min_word_len = 4

#设置MYSQL线程使用的堆大小

thread_stack = 192K

#设定默认的事务隔离级别.可用的级别如下:

#READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE

transaction_isolation = READ-COMMITTED

#此值表示内存中临时表的最大大小

tmp_table_size = 256M


#binlog日志类型

#mixed:混合型

binlog_format=mixed

#开启慢查询日志

slow_query_log


#文件格式

log_output = FILE


# 所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询

long_query_time = 0.5

#慢查询日志位置

slow_query_log_file=/usr/local/mysql/mysqld_slow.log


########MyISAM 相关选项

#用于索引的缓冲区大小

key_buffer_size = 2048M

#MySql读入缓冲区大小。

read_buffer_size = 2M

#MySql的随机读(查询操作)缓冲区大小。

read_rnd_buffer_size = 16M

#批量插入数据缓存大小,

bulk_insert_buffer_size = 16M

#MyISAM表发生变化,重建索引时所需的缓冲

myisam_sort_buffer_size = 128M

#MySQL重建索引时所允许的临时文件的大小

myisam_max_sort_file_size = 1G

#如果一个表拥有多个索引, MyISAM 会通过并行排序使用多个线程去修复他们。

myisam_repair_threads = 1

# 自动检查和修复没有适当关闭的 MyISAM 表.

myisam_recover


########INNODB相关选项

#如果你的MySQL服务包含InnoDB支持但是并不打算使用的话,

#skip-innodb

#这对Innodb表来说非常重要,Innodb把所有的数据和索引都缓存起来,此参数设置越大,数据存取时所需要的磁盘I/O越少。

innodb_buffer_pool_size = 2048M

# InnoDB 将数据保存在一个或者多个数据文件中成为表空间

innodb_data_file_path = ibdata1:1024M:autoextend

# 文件IO的线程数,一般为 4

innodb_file_io_threads = 4

# 允许线程数量。

innodb_thread_concurrency = 16


# 如果设置为1 ,InnoDB会在每次事务提交后将事务日志写到磁盘上,

# 基于性能考虑,可以设置为0或2,但要承担在发生故障时丢失数据的风险。

# 0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘.

# 2代表每次提交后日志写入日志文件,但是日志文件每秒刷新到磁盘上。

innodb_flush_log_at_trx_commit = 2

#此参数用于写日志文件所用的内存大小,以M为单位。

innodb_log_buffer_size = 16M

#此参数用于确定日志文件的大小

innodb_log_file_size = 1024M

#日志组中的文件总数

innodb_log_files_in_group = 3

# InnoDB的日志文件所在位置

#innodb_log_group_home_dir

# 在InnoDB缓冲池中最大允许的脏页面的比例

innodb_max_dirty_pages_pct = 90

# InnoDB用来刷新日志的方法

innodb_flush_method=O_DSYNC

# 在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久

innodb_lock_wait_timeout = 30

[mysqldump]

# 不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项

max_allowed_packet = 64M

[mysql]

no-auto-rehash

#指定一个请求的最大连接时间,对于4GB左右的内存服务器来说,可以将其设置为5-10。

wait_timeout = 10

#将没有使用索引的查询也记录下来

log-queries-not-using-indexes

相关推荐

恢复软件6款汇总推荐,帮你减轻数据恢复压力!

在当今数字化生活中,数据丢失的风险如影随形。无论是误删文件、硬盘故障,还是遭遇病毒攻击,丢失的数据都可能给我们带来不小的麻烦。此时,一款优秀的数据恢复软件就成为了挽救数据的关键。今天,为大家汇总推荐...

中兴星星一号刷回官方原版recovery的教程

【搞科技教程】中兴星星一号的官方recovery也来说一下了,因为之前给大家分享过了第三方的recovery了,之前给大家分享的第三方recovery也是采用一键刷入的方式,如果细心的朋友会发现,之前...

新玩机工具箱,Uotan柚坛工具箱软件体验

以前的手机系统功能比较单调,各厂商的重视程度不一样,所以喜欢玩机的朋友会解锁手机系统的读写权限,来进行刷机或者ROOT之类的操作,让使用体验更好。随着现在的手机系统越来越保守,以及自身功能的增强,...

三星g906k刷recovery教程_三星g906k中文recovery下载

【搞科技教程】看到有一些机友在找三星g906k的第三方recovery,下面就来说一下详细的recovery的刷入方法了,因为手机只有有了第三方的recovery之后才可以刷第三方的root包和系统包...

中兴星星2号刷recovery教程_星星二号中文recovery下载

【搞科技教程】咱们的中兴星星2手机也就是中兴星星二号手机的第三方recovery已经出来了,并且是中文版的,有了这个recovery之后,咱们的手机就可以轻松的刷第三方的系统包了,如果没有第三方的re...

数据恢复软件有哪些值得推荐?这 6 款亲测好用的工具汇总请收好!

在数字生活中,数据丢失的阴霾常常突如其来。无论是误删工作文档、格式化重要磁盘,还是遭遇系统崩溃,都可能让我们陷入焦虑。关键时刻,一款得力的数据恢复软件便是那根“救命稻草”。今天,为大家精心汇总6...

中兴u956刷入recovery的教程(中兴e5900刷机)

【搞科技教程】这次主要来给大家说说中兴u956手机如何刷入第三方的recovery,因为第三方的recovery工具是咱们刷第三方rom包的基础,可是很我欠却不会刷,所以太这里来给大家整理了一下详细的...

联想A850+刷recovery教程 联想A850+第三方recovery下载

【搞科技教程】联想A850+的第三方recovery出来了,这个第三方的recovery是非常的重要的,比如咱们的手机要刷第三方的系统包的时候,都是需要用到这个第三方的recovery的,在网上也是有...

工具侠重大更新 智能机上刷机一条龙完成

工具侠是针对玩机的机油开发的一款工具,不管是发烧级别的粉丝,还是普通小白用户,都可以在工具侠上找到你喜欢的工具应用。这不,最新的工具侠2.0.16版本,更新了专门为小白准备的刷机助手工具,以及MTK超...

shift+delete删除的文件找回6种硬盘数据恢复工具

硬盘作为电脑的重要存储设备,如同一个巨大的数字仓库,承载着我们日常工作、学习和生活中的各种文件,从珍贵的照片、重要的工作文档到喜爱的视频、音乐等,都依赖硬盘来安全存放。但有时,我们可能会不小心用sh...

使用vscode+Deepseek 实现AI编程 基于Cline和continue

尊敬的诸位!我是一名专注于嵌入式开发的物联网工程师。关注我,持续分享最新物联网与AI资讯和开发实战。期望与您携手探寻物联网与AI的无尽可能。这两天deepseek3.0上线,据说编程能力比肩Cl...

详解如何使用VSCode搭建TypeScript环境(适合小白)

搭建Javascript环境因为TypeScript不能直接在浏览器上运行。它需要编译器来编译并生成JavaScript文件。所以需要首先安装好javascript环境,可以参考文章:https://...

使用VSCode来书写你的Jupyter Notebooks

现在你可以在VScode里面来书写你的notebook了,使用起来十分的方便。下面来给大家演示一下环境的搭建。首先需要安装一个jupyter的包,使用下面的命令安装:pip3install-ih...

使用VSCode模板提高Vue开发效率(vscode开发vue插件)

安装VSCode安装Vetur和VueHelper插件,安装完成后需要重启VScode。在扩展插件搜索框中找到如下Vetur和VueHelper两个插件,注意看图标。添加Vue模板打...

干货!VsCode接入DeepSeek实现AI编程的5种主流插件详解

AI大模型对编程的影响非常之大,可以说首当其冲,Cursor等对话式编程工具渐渐渗透到开发者的工作中,作为AI编程的明星产品,Cursor虽然好用,但是贵啊,所以咱们得找平替,最好免费那种。俗话说,不...