备注:测试数据库版本为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-resolve skip相关 禁止MySQL对外部进行 DNS解析,Boolean类型
格式:skip-name-resolve=OFF OR ON
默认值:OFF
skip-name-resolve skip相关 禁止MySQL对外部进行 DNS解,Boolean类型
格式:skip-name-resolve=OFF OR ON
默认值:OFF
skip-symbolic-links skip相关 不能使用连接文件
格式 symbolic-links= OFF OR ON
默认:OFF
skip-external-locking skip相关 不使用系统锁定,要使用 myisamchk,必须关闭服务器 ,避免 MySQL的外部锁定,减少出错几率增强稳定性
格式:skip-external-locking = OFF or ON
默认值:ON
skip-slave-start skip相关 启动 mysql,不启动复制
格式:skip-slave-start = OFF or ON
默认值:OFF
skip-networking skip相关 开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式
格式:skip-networking = OFF or ON
默认值:OFF
default-time-zone = system default settings 相关 服务器时区
character-set-server = utf8mb4 default settings 相关 服务器字符集
default_storage_engine = InnoDB default 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 = 1 InnoDB相关 每个表都有自己独立的表空间 Boolean类型
innodb-file-per-table = ON or OFF
默认值:ON
innodb_open_files = 2048 InnoDB相关 限制Innodb能打开的表的数据,如果库里的表特别多的情况,请增加这个
取值范围: 10 - 4294967295
默认值: -1 (不设置这个值)
innodb_buffer_pool_size = 2G InnoDB相关 InnoDB buffer pool的大小,用于缓存表和索引的数据
取值范围: 5242880 - 2**64-1
默认值:134217728
innodb_write_io_threads = 4 InnoDB相关 innodb写进程数
取值范围:1-64
默认值:4
innodb_read_io_threads = 4 InnoDB相关 innodb读进程数
取值范围:1-64
默认值:4
innodb_data_home_dir =filename InnoDB相关 innodb表空间存放目录
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend InnoDB相关 InnoDB将数据保存在一个或者多个数据文件中成为表空间
innodb_flush_log_at_trx_commit = 1 InnoDB相关 如果设置为 1 ,InnoDB 会在每次提交后刷新(fsync)事务日志到磁盘上,枚举类型
取值范围:0,1,2
默认值:1
innodb_log_buffer_size = 8M InnoDB相关 InnoDB log buffer大小
取值范围:1048576 - 4294967295
默认值:16777216
innodb_log_file_size = 500M InnoDB相关 事物日志大小
取值范围:4194304-512GB
默认值:50331648
innodb_log_files_in_group = 2 InnoDB相关 在日志组中的文件总数.通常来说 2~3 是比较好的
取值范围:2-100
默认值:2
innodb_log_group_home_dir = filename InnoDB相关 InnoDB 的日志文件所在位置
innodb_lock_wait_timeout = 50 InnoDB相关 InnoDB 事务在被回滚之前可以等待一个锁定的超时秒数
取值范围: 1-1073741824
默认值:50
innodb_flush_method = O_DSYNC InnoDB相关

InnoDB 用来刷新日志的方法.表空间总是使用双重写入刷新方法
取值范围:

windows:unbuffered/normal
Unix: fsync/O_DSYNC/littlesync/nosync/O_DIRECT/O_DIRECT_NO_FSYNC
默认值: unbuffered(windows)/fsync(unix)

innodb_force_recovery=1 InnoDB相关 如果你发现 InnoDB 表空间损坏, 设置此值为一个非零值可能帮助你导出你的表
取值范围:0-6
默认值:0
innodb_fast_shutdown InnoDB相关 速 InnoDB 的关闭
innodb_thread_concurrency = 8 InnoDB相关 此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量取值范围:0-100
默认值:0(无限并发)

[mysql]

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

[mysqld_safe]

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

MySQL入门篇-MySQL配置文件简介相关推荐

  1. MySQL入门系列:查询简介(四)之类型转换和分组查询

    前文回顾 之前我们介绍了一些简单查询的方式以及MySQL中表达式和函数的简单使用,本篇文章继续介绍如何使用MySQL进行查询. 类型转换 类型转换的场景 只要某个值的类型与上下文要求的类型不符,MyS ...

  2. MySQL入门篇(一)之MySQL部署

    MySQL 二进制免编译安装 (1)下载二进制免编译版本mysql 5.6.35 [root@localhost tools]# wget http://mirrors.sohu.com/mysql/ ...

  3. MySQL基础篇-MySQL 命令大全

    当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯 要看进阶篇的小伙伴点着哦!!!! MySQL进阶篇 - 索引篇 1.启动MySQL,备份数据: 1.1启动MySQL服务: cmd 命令行 ...

  4. Mysql入门【Mysql基础】

    1.数据库的基本知识 什么是数据库 存储数据的仓库 数据的存储方式 数据保存在内存 int[] arr = new int[]{1, 2, 3, 4}; ArrayList<Integer> ...

  5. MySQL入门篇(含数据库的备份)

    1.DB,DBMS,SQL 1.DB(数据库):存储数据和管理数据的仓库,保存一系列有组织的数据 2.DBMS(数据库管理系统):数据库是通过DBMS创建和操作的容器 3.SQL(结构查询语言):专门 ...

  6. mysql工具的使用_产品操作MySQL入门篇-工具使用

    MYSQL 本资料为产品岗位作为日常工作参考,语言口语化 At 2019/4/15 By David.Yang 数据库怎么登录/管理? 登录数据库的方式有多种, 比如 本地Client登录. 通过数据 ...

  7. MySQL入门篇,2021最新Java知识体系总结

    一.数据库的操作 1.1显示数据库 1.2创建数据库 1.3使用数据库 1.4删除数据库 二.常用的数据类型 2.1数值类型 2.2字符串类型 2.3日期类型 三.表的操作 3.1查看表结构 3.2创 ...

  8. MySQL实战篇-MySQL kill进程后出现killed

    问题描述 拷贝一个大表的表数据的时候,等待时间太久,就在前台通过CTRL+C的方式停掉了. mysql> create table fact_sale_new as select * from ...

  9. Mysql入门【Mysql约束】

    学习目标 能够使用SQL语句进行排序 能够使用聚合函数 能够使用SQL语句进行分组查询 能够完成数据的备份和恢复 能够使用SQL语句添加主键.外键.唯一.非空约束 能够说出多表之间的关系及其建表原则 ...

最新文章

  1. TCP Cluster for mqtt 技术实施方案
  2. php 文档在线查看器,Office Web Viewer 在线Office文档查看器API
  3. R 语言开发环境搭建
  4. Cpp 对象模型探索 / 虚继承带虚函数的基类的子类的内存布局
  5. Kali 远程登陆SSH
  6. 释放广域网潜能的“简单”之道
  7. Python 中除法运算需要注意的几点
  8. android tim qq 1.1.0,Android TIM QQ 1.0.5 正式版发布
  9. GC overhead limit exceeded
  10. 8421码到5421码的转换_8421BD码转换成5421BCD码.doc
  11. h61 nvme硬盘_不懂SSD固态硬盘吗?1分钟教会你
  12. 互联网创业公司是否需要技术外包?
  13. 马丁富勒微服务论文学习
  14. Banner(轮播)
  15. java values方法_Java xxxValue() 方法
  16. 谷歌中国ICP牌照过期 高管暗示员工自谋出路
  17. 使用XDoclet生成代码
  18. tomcat启动正常,浏览器访问提示连接已重置
  19. 张小白的渗透之路(十一)--windows提权详解
  20. 18年6月英语六级阅读单词

热门文章

  1. html表格给所有文本加前缀,Excel技巧,如何给已经输入完成的数据批量添加前缀和单位...
  2. 使用更相减损术求最大公约数
  3. 从程序员到项目经理(9):程序员加油站 --要执着但不要固执
  4. 龙之气息服务器维修中,龙之气息新手问答 常见问题详解
  5. dota2起源1和2引擎区别_DOTA2将更新起源2引擎 游戏画质将大幅度提升
  6. raspberry pi_现在您的Raspberry Pi可以给草坪浇水了
  7. 解决Element-ui中Table表格里的show-overflow-tooltip不兼容safari浏览器问题。
  8. 唯品会的“危机”与“反击”
  9. 堆 最小堆 最大堆 堆排序(小到大,大到小)
  10. 32个!三大运营商“5G+工业互联网”案例独家汇总!