MySQL配置文件简介

备注:测试数据库版本为MySQL 8.0

这个blog我们来聊聊MySQL的配置文件以及常用的参数

MySQL配置文件

-- windows
my.ini
-- linux
my.cnf
默认路径/etc/my.cnf

Linux下的配置文件my.cnf,与Oracle参数文件类似,MySQL启动的时候,会读取my.cnf文件里面的内容,但凡有一个参数配置格式错误,MySQL启动会报错,需要排查错误日志。

这个blog我们简单的聊聊常见的参数用法。

自动生产MySQL配置文件,叶金荣大佬提供:
https://imysql.com/my-cnf-wizard.html

一.[client]

MySQL客户端应用读取,一般设置连接端口

参数值参数用途
port = 3306指定客户端应用连接的端口
socket = path/filename指定连接socket
default-character-set=utf8mb4指定客户端应用连接的字符集

二.[mysqld]

参数值类别参数用途
basedir = path基础设置指定安装目录
datadir = path基础设置指定数据文件目录
tmpdir = path基础设置指定临时文件目录
pid-file = path/filename基础设置为mysqld程序指定一个存放进程ID的文件(仅适用于unix/linux)
socket = path/filename基础设置socket文件是客户程序与服务器之间通信的文件(仅适用于unix/linux)
server-id = 1基础设置表示本机的序号为1,唯一,主从复制的时候需要使用
tmp_table_size = 512M基础设置临时表最大大小,超过该值,数据存放磁盘
取值范围:1024- 18446744073709551615
默认值:16777216
max_heap_table_size = 512M基础设置独立的内存表所允许的最大容量,防止内存耗尽
取值范围:16384-1844674407370954752
默认值:16777216
****************************************************************************************
****************************************************************************************
max_connections = 1000系统资源相关MySQL允许的最大连接进程数
取值范围:1-100000
默认值:151
max_connect_errors = 1000系统资源相关用户发起的连接 error 超过该数值,则该用户的下次连接将被阻塞,直到管理员执行 flush hosts ;或重启服务器
取值范围:1-100000
默认值:151
open_files_limit = 10240系统资源相关MySQL打开的文件描述符限制;
取值范围:0-平台依赖
默认值:5000
connect-timeout = 10系统资源相关连接超时最大秒数
取值范围:2-31536000
默认值:10
wait-timeout = 28800系统资源相关等待关闭连接的时间,单位秒
取值范围:1-31536000(windows平台 最大值 2147483)
默认值:28800
interactive-timeout = 28800系统资源相关关闭连接之前,允许 interactive_timeout(取代了wait_timeout)秒的不活动时间
取值范围:1-无穷大
默认值:28800
slave-net-timeout = 600系统资源相关从库超过该时间无法与主库通信,断开连接,单位秒
取值范围:1-无穷大
默认值:60
net_read_timeout = 30系统资源相关从服务器读取信息超时时间,单位秒
取值范围:1-无穷大
默认值:30
net_write_timeout = 60系统资源相关从服务器写信息超时时间,单位秒
取值范围:1-无穷大
默认值:60
net_retry_count = 10系统资源相关读操作中断后允许的重连次数,单位秒
取值范围:1-18446744073709551615
默认值:10
net_buffer_length = 16384系统资源相关包消息缓冲区初始化为 net_buffer_length 字节,
取值范围:1024 - 1048576
默认值:16384
max_allowed_packet = 64M系统资源相关服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小
取值范围:1024 - 1073741824
默认值:67108864
table_open_cache = 512系统资源相关所有线程打开表的数量
取值范围:1 - 524288
默认值:4000
thread_stack = 192K系统资源相关线程使用的堆大小. 此容量的内存在每次连接时被预留
取值范围:131072 - 18446744073709551615
默认值:286720
thread_cache_size = 20系统资源相关我们在 cache 中保留多少线程用于重用
取值范围:0 - 16384
默认值:-1(不指定此值)
****************************************************************************************
****************************************************************************************
skip-name-resolveskip相关禁止MySQL对外部进行 DNS解析,Boolean类型
格式:skip-name-resolve=OFF OR ON
默认值:OFF
skip-name-resolveskip相关禁止MySQL对外部进行 DNS解,Boolean类型
格式:skip-name-resolve=OFF OR ON
默认值:OFF
skip-symbolic-linksskip相关不能使用连接文件
格式 symbolic-links= OFF OR ON
默认:OFF
skip-external-lockingskip相关不使用系统锁定,要使用 myisamchk,必须关闭服务器 ,避免 MySQL的外部锁定,减少出错几率增强稳定性
格式:skip-external-locking = OFF or ON
默认值:ON
skip-slave-startskip相关启动 mysql,不启动复制
格式:skip-slave-start = OFF or ON
默认值:OFF
skip-networkingskip相关开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式
格式:skip-networking = OFF or ON
默认值:OFF
****************************************************************************************
****************************************************************************************
default-time-zone = systemdefault settings 相关服务器时区
character-set-server = utf8mb4default settings 相关服务器字符集
default_storage_engine = InnoDBdefault settings 相关默认存储引擎
****************************************************************************************
****************************************************************************************
log-bin = filename日志相关打开二进制日志功能
log-bin=mysql-bin(也可指定二进制日志生成的路径,如:log-bin=/opt/Data/mysql-bin)
log_slave_updates日志相关从库将复制事件写入自己的二进制日志
格式:log_slave_updates = OFF or ON
默认值:ON
log-bin-index = file_name日志相关二进制的索引文件名,一般是mysql-bin.index
relay-log = relay-log日志相关定义relay_log的位置和名称,如果值为空,则默认位置在数据文件的目录(datadir)
relay_log_index = relay-log.index日志相关同relay_log,定义relay_log的位置和名称;一般和relay-log在同一目录
log-error = filename日志相关错误日志文件
log_output = FILE日志相关参数 log_output 指定了慢查询输出的格式,默认为 FILE
可选值有:TABLE/FILE/NONE
slow_query_log = Boolean日志相关指定是否开启慢查询日志
格式:slow_query_log = OFF or ON
默认值:OFF
long-query-time = 1日志相关设定慢查询的阀值,超过该值的sql会被记录到慢查询日志 单位:秒 默认值:10
slow_query_log_file = filename日志相关慢查询日志存放目录,默认值:host_name-slow.log
log-queries-not-using-indexes日志相关如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中
格式:log-queries-not-using-indexes = OFF or ON
默认值:OFF
min_examined_row_limit=1000日志相关记录那些由于查找了多余1000次而引发的慢查询
取值范围:0-18446744073709551615
log-slow-slave-statements日志相关记录由Slave所产生的慢查询
格式:log-slow-slave-statements = OFF or ON
默认值:OFF
general_log日志相关将所有到达MySQL Server的SQL语句记录下来
格式:general_log = OFF or ON
默认值:OFF
general_log_file = filename日志相关general_log路径,默认值:host_name.log
max_binlog_size = 1G日志相关binlog最大值
取值范围:4096-1073741824
默认值:1073741824(1G)
max_relay_log_size = 1G日志相关relay log最大值
取值范围:0-1073741824
默认值:0
relay-log-purge = 1日志相关是否自动清空不再需要中继日志时。默认值为1(启用)
格式:relay-log-purge = OFF or ON
默认值:ON
expire_logs_days = 30日志相关超过 30 天的 binlog 删除
取值范围:0-99
默认值:0
binlog_cache_size = 1M日志相关单个事务,binlog cache大小
取值范围:4096-18446744073709551615
默认值:32768(32K)
replicate-wild-ignore-table = mysql.%日志相关复制时忽略数据库及表
slave_skip_errors=all日志相关定义复制过程中从服务器可以自动跳过的错误号
OFF-list of error codes
all-ddl_exist_errors
默认值:OFF
****************************************************************************************
****************************************************************************************
innodb_file_per_table = 1InnoDB相关每个表都有自己独立的表空间 Boolean类型
innodb-file-per-table = ON or OFF
默认值:ON
innodb_open_files = 2048InnoDB相关限制Innodb能打开的表的数据,如果库里的表特别多的情况,请增加这个
取值范围: 10 - 4294967295
默认值: -1 (不设置这个值)
innodb_buffer_pool_size = 2GInnoDB相关InnoDB buffer pool的大小,用于缓存表和索引的数据
取值范围: 5242880 - 2**64-1
默认值:134217728
innodb_write_io_threads = 4InnoDB相关innodb写进程数
取值范围:1-64
默认值:4
innodb_read_io_threads = 4InnoDB相关innodb读进程数
取值范围:1-64
默认值:4
innodb_data_home_dir =filenameInnoDB相关innodb表空间存放目录
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextendInnoDB相关InnoDB将数据保存在一个或者多个数据文件中成为表空间
innodb_flush_log_at_trx_commit = 1InnoDB相关如果设置为 1 ,InnoDB 会在每次提交后刷新(fsync)事务日志到磁盘上,枚举类型
取值范围:0,1,2
默认值:1
innodb_log_buffer_size = 8MInnoDB相关InnoDB log buffer大小
取值范围:1048576 - 4294967295
默认值:16777216
innodb_log_file_size = 500MInnoDB相关事物日志大小
取值范围:4194304-512GB
默认值:50331648
innodb_log_files_in_group = 2InnoDB相关在日志组中的文件总数.通常来说 2~3 是比较好的
取值范围:2-100
默认值:2
innodb_log_group_home_dir = filenameInnoDB相关InnoDB 的日志文件所在位置
innodb_lock_wait_timeout = 50InnoDB相关InnoDB 事务在被回滚之前可以等待一个锁定的超时秒数
取值范围: 1-1073741824
默认值:50
innodb_flush_method = O_DSYNCInnoDB相关InnoDB 用来刷新日志的方法.表空间总是使用双重写入刷新方法
取值范围:
windows:unbuffered/normal
Unix: fsync/O_DSYNC/littlesync/nosync/O_DIRECT/O_DIRECT_NO_FSYNC
默认值: unbuffered(windows)/fsync(unix)
innodb_force_recovery=1InnoDB相关如果你发现 InnoDB 表空间损坏, 设置此值为一个非零值可能帮助你导出你的表
取值范围:0-6
默认值:0
innodb_fast_shutdownInnoDB相关速 InnoDB 的关闭
innodb_thread_concurrency = 8InnoDB相关此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量
取值范围:0-100
默认值:0(无限并发)

三.[mysql]

参数值参数用途
default-character-set = utf8数据库字符集
connect-timeout = 3连接超时时间,单位秒
取值范围:2-31536000
默认值:10
pid_file = filenamepid文件位置

四.[mysqld_safe]

参数值参数用途
open-files-limit = 8192每个进程的可打开文件数量
取值范围:0-操作系统上限
默认值:5000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值