MySQL入门篇-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-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 |
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配置文件简介相关推荐
- MySQL入门系列:查询简介(四)之类型转换和分组查询
前文回顾 之前我们介绍了一些简单查询的方式以及MySQL中表达式和函数的简单使用,本篇文章继续介绍如何使用MySQL进行查询. 类型转换 类型转换的场景 只要某个值的类型与上下文要求的类型不符,MyS ...
- MySQL入门篇(一)之MySQL部署
MySQL 二进制免编译安装 (1)下载二进制免编译版本mysql 5.6.35 [root@localhost tools]# wget http://mirrors.sohu.com/mysql/ ...
- MySQL基础篇-MySQL 命令大全
当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯 要看进阶篇的小伙伴点着哦!!!! MySQL进阶篇 - 索引篇 1.启动MySQL,备份数据: 1.1启动MySQL服务: cmd 命令行 ...
- Mysql入门【Mysql基础】
1.数据库的基本知识 什么是数据库 存储数据的仓库 数据的存储方式 数据保存在内存 int[] arr = new int[]{1, 2, 3, 4}; ArrayList<Integer> ...
- MySQL入门篇(含数据库的备份)
1.DB,DBMS,SQL 1.DB(数据库):存储数据和管理数据的仓库,保存一系列有组织的数据 2.DBMS(数据库管理系统):数据库是通过DBMS创建和操作的容器 3.SQL(结构查询语言):专门 ...
- mysql工具的使用_产品操作MySQL入门篇-工具使用
MYSQL 本资料为产品岗位作为日常工作参考,语言口语化 At 2019/4/15 By David.Yang 数据库怎么登录/管理? 登录数据库的方式有多种, 比如 本地Client登录. 通过数据 ...
- MySQL入门篇,2021最新Java知识体系总结
一.数据库的操作 1.1显示数据库 1.2创建数据库 1.3使用数据库 1.4删除数据库 二.常用的数据类型 2.1数值类型 2.2字符串类型 2.3日期类型 三.表的操作 3.1查看表结构 3.2创 ...
- MySQL实战篇-MySQL kill进程后出现killed
问题描述 拷贝一个大表的表数据的时候,等待时间太久,就在前台通过CTRL+C的方式停掉了. mysql> create table fact_sale_new as select * from ...
- Mysql入门【Mysql约束】
学习目标 能够使用SQL语句进行排序 能够使用聚合函数 能够使用SQL语句进行分组查询 能够完成数据的备份和恢复 能够使用SQL语句添加主键.外键.唯一.非空约束 能够说出多表之间的关系及其建表原则 ...
最新文章
- TCP Cluster for mqtt 技术实施方案
- php 文档在线查看器,Office Web Viewer 在线Office文档查看器API
- R 语言开发环境搭建
- Cpp 对象模型探索 / 虚继承带虚函数的基类的子类的内存布局
- Kali 远程登陆SSH
- 释放广域网潜能的“简单”之道
- Python 中除法运算需要注意的几点
- android tim qq 1.1.0,Android TIM QQ 1.0.5 正式版发布
- GC overhead limit exceeded
- 8421码到5421码的转换_8421BD码转换成5421BCD码.doc
- h61 nvme硬盘_不懂SSD固态硬盘吗?1分钟教会你
- 互联网创业公司是否需要技术外包?
- 马丁富勒微服务论文学习
- Banner(轮播)
- java values方法_Java xxxValue() 方法
- 谷歌中国ICP牌照过期 高管暗示员工自谋出路
- 使用XDoclet生成代码
- tomcat启动正常,浏览器访问提示连接已重置
- 张小白的渗透之路(十一)--windows提权详解
- 18年6月英语六级阅读单词
热门文章
- html表格给所有文本加前缀,Excel技巧,如何给已经输入完成的数据批量添加前缀和单位...
- 使用更相减损术求最大公约数
- 从程序员到项目经理(9):程序员加油站 --要执着但不要固执
- 龙之气息服务器维修中,龙之气息新手问答 常见问题详解
- dota2起源1和2引擎区别_DOTA2将更新起源2引擎 游戏画质将大幅度提升
- raspberry pi_现在您的Raspberry Pi可以给草坪浇水了
- 解决Element-ui中Table表格里的show-overflow-tooltip不兼容safari浏览器问题。
- 唯品会的“危机”与“反击”
- 堆 最小堆 最大堆 堆排序(小到大,大到小)
- 32个!三大运营商“5G+工业互联网”案例独家汇总!