以下为个人总结的MySQL配置文件参数说明,如有错误,烦请大佬们留言指正,本人将第一时间修改。2019-12-10 12:32:08

[mysqld]
server-id= # Mysql唯一标识,一个集群中唯一;
port= # 服务端口,默认3306
user = mysql # 启动用户,建议用户mysql
bind_address= 0.0.0.0 # 绑定的IP地址,建议使用具体地址
basedir=/mysql/app/mysql # mysql安装路径,建议使用绝对路径
datadir=/mysql/data//data # 数据目录
socket=/mysql/data//mysql.sock # 指定套接字文件
pid-file=/mysql/data//mysql.pid # 指定pid文件
character-set-server=utf8 # 指定默认编码格式
skip-character-set-client-handshake= #
autocommit = # 是否开启自动提交, :不开启吗1:开启
#skip_name_resolve =
max_connections = # 最大连接数
max_connect_errors = # 最大连接错误
default-storage-engine=INNODB # 设置默认引擎,常用引擎INNODB,MYISAN,建议使用INNODB
transaction_isolation = READ-COMMITTED # 事务隔离级别,可选参数有:READ-UNCOMMITTED(读取未提交内容), READ-COMMITTED(读取提交内容), REPEATABLE-READ(可重读), SERIALIZABLE(可串行化).
explicit_defaults_for_timestamp = # 参数是否初始化
sort_buffer_size = 32M # 排序使用的缓存大小,MySQL5.7中,默认为1M(优化参数之一,一般情况下默认数值就够用了)
join_buffer_size = 128M # join操作所用用的缓存大小
tmp_table_size = 72M # 临时表大小
max_allowed_packet = 16M # 服务端最大允许接收的数据包大小
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER" # mysql支持的基本语法及校验规则
interactive_timeout = # 是MySQL在等待一个活动连接关闭连接前等待的秒数。默认28800秒,8小时
wait_timeout = # 是MySQL在等待一个非活动连接关闭连接前等待的秒数。默认28800秒,8小时
read_buffer_size = 16M # (数据文件存储顺序)是MySQL读入缓冲区的大小,将对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区,read_buffer_size变量控制这一缓冲区的大小,如果对表的顺序扫描非常频繁,并你认为频繁扫描进行的太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能,read_buffer_size变量控制这一提高表的顺序扫描的效率 数据文件顺序。
read_rnd_buffer_size = 32M # 是MySQL的随机读缓冲区大小,当按任意顺序读取行时(列如按照排序顺序)将分配一个随机读取缓冲区,进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要大量数据可适当的调整该值,但MySQL会为每个客户连接分配该缓冲区所以尽量适当设置该值,以免内存开销过大。表的随机的顺序缓冲 提高读取的效率。 #event_scheduler = query_cache_type = # 控制着查询缓存工能的开启的关闭。0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存。
query_cache_size=1M # 查询缓存大小, 一般 1M很够用了
table_open_cache= # 文件描述符的缓存大小,4G内存的机器,建议设置为2048,
thread_cache_size= # 线程池缓存大小,当客户端断开连接后 将当前线程缓存起来 当在接到新的连接请求时快速响应 无需创建新的线程
myisam_max_sort_file_size=10G # mysql重建索引时允许使用的临时文件最大大小
myisam_sort_buffer_size=64M # MyISAM表发生变化时重新排序所需的缓冲。一般64M足矣。
key_buffer_size=32M # Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读),对于内存在4GB左右的服务器该参数可设置为256M或384M。注意:该参数值设置的过大反而会是服务器整体效率降低!
read_buffer_size=8M # 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。
read_rnd_buffer_size=4M # 是MySQL的随机读缓冲区大小,当按任意顺序读取行时(列如按照排序顺序)将分配一个随机读取缓冲区,进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要大量数据可适当的调整该值,但MySQL会为每个客户连接分配该缓冲区所以尽量适当设置该值,以免内存开销过大。表的随机的顺序缓冲 提高读取的效率。 back_log= # 值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。由默认的50,每个连接256kb
#flush_time=
open_files_limit= # MySQL打开了多少个文件描述符,默认最小1024
table_definition_cache= # 表定义文件缓存相比表文件描述符缓存所消耗的内存更小,其默认值是400
#binlog_row_event_max_size=8K
# 有时候为了避免master.info和中继日志崩溃,在容忍额外的fsync()带来的开销,推荐设置
#sync_master_info= # 默认为10000,每间隔多少事务刷新master.info,如果是table(innodb)设置无效,每个事务都会更新,建议 设置为1
#sync_relay_log= # 默认为10000,即每10000次sync_relay_log事件会刷新到磁盘。为0则表示不刷新,交由OS的cache控制,建议设置为1
#sync_relay_log_info= # 默认为10000,每间隔多少事务刷新relay-log.info,建议设置为1 ########log settings########
log-output=FILE # 日志存储方式,TABLE、FILE,建议设置为FILE,默认为FILE
general_log = # 所有到达MySQL Server的SQL语句记录下来。通用日志,不建议开启,这个很消耗磁盘空间,用于优化及故障排查
general_log_file=/mysql/log//itpuxdb-general.err # 指定通用日志文件
slow_query_log = ON # ON 为开启慢查询日志,off表示关闭慢查询日志,用于优化SQL语句
slow_query_log_file=/mysql/log//itpuxdb-query.err #指定慢查询日志文件
long_query_time= # 指定多少秒返回查询的结果为慢查询
log-error=/mysql/log//itpuxdb-error.err # 指定错误日志 log_queries_not_using_indexes = # 开启 记录没有使用索引查询语句,1或者ON开启,记录至慢日志中
log_slow_admin_statements = #记录那些慢的optimize table,analyze table和alter table语句,1或者ON开启,记录至慢日志中
log_slow_slave_statements = # 记录由Slave所产生的慢查询
log_throttle_queries_not_using_indexes = # 设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
expire_logs_days = # 保留多少天
min_examined_row_limit = # 对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中
#log_bin = "/log/bin_log/binlog" ########replication settings########
#master_info_repository = TABLE # 值如果为FILE,建议将其修改为TABLE
#relay_log_info_repository = TABLE
#log_bin = bin.log
#sync_binlog =
#gtid_mode = on
#enforce_gtid_consistency =
#log_slave_updates
#binlog_format = row
#relay_log = relay.log
#relay_log_recovery =
#binlog_gtid_simple_recovery =
#slave_skip_errors = ddl_exist_errors ########innodb settings########
# 根据您的服务器IOPS能力适当调整,只有当你在频繁写操作的时候才有意义
# 一般配普通SSD盘的话,可以调整到 -
# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 -
innodb_io_capacity = # 动态调整刷新脏页的数量,一般设置最大值的1/
innodb_io_capacity_max = #动态调整刷新脏页的最大数量
innodb_buffer_pool_size = 200M # 缓存池大小,默认128M,建议设置为总内存大小的,设置为物理内存的80%
innodb_buffer_pool_instances = # 可以开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写。
innodb_buffer_pool_load_at_startup = # 默认为关闭OFF。如果开启该参数,启动MySQL服务时,MySQL将本地热数据加载到InnoDB缓冲池中。
innodb_buffer_pool_dump_at_shutdown = # 默认启用。指定在MySQL服务器关闭时是否记录在InnoDB缓冲池中缓存的页面,以便在下次重新启动时缩短预热过程。
innodb_lru_scan_depth = # LRU列表中可用页的数量,默认值为1024。
innodb_lock_wait_timeout = # 事务锁超时时间
#innodb_flush_method = O_DIRECT innodb_log_file_size = 200M # mysql事务日志文件(ib_logfile0)的大小;
innodb_log_files_in_group = # 指定你有几个日志组。一般2-3个日值组。默认为两个。
innodb_log_buffer_size = 16M # 事务在内存中的缓冲大小。 innodb_undo_logs = # InnoDB使用的回滚段个数,必须设置35个以上;,默认128
innodb_undo_tablespaces = # 是控制undo是否开启独立的表空间的参数,为0表示:undo使用系统表空间,即ibdata1,不为0表示:使用独立的表空间,一般名称为 undo001 undo002,存放地址的配置项为:innodb_undo_directory,默认配置为0,参数必须大于或等于2,即回收(收缩)一个undo log日志文件时,要保证另一个undo log是可用的。
innodb_undo_log_truncate = # 参数设置为1,即开启在线回收(收缩)undo log日志文件,支持动态设置。
innodb_max_undo_log_size = 2G # 每一个undo日志文件大小,默认1G innodb_flush_neighbors = # 刷脏页的控制策略,参数就是用来控制这个行为的,值为 的时候会有上述的“连坐”机制,值为 时表示不找邻居,自己刷自己的。建议设置为0
innodb_purge_threads = # 负责回收已经使用并分配的undo页,可以指定多个innodb_purge_threads来进一步加快和提高undo回收速度。
innodb_large_prefix = # 单索引限制,是否开启允许列索引最大达到3072,不开启只有767
innodb_thread_concurrency = # 来限制并发线程的数量
innodb_print_all_deadlocks = # 是否开启保存死锁日志,死锁日志存放到error_log配置的文件里面
innodb_strict_mode = # InnoDB严格检查模式,尤其采用了页数据压缩功能后,最好是开启该功能。开启此功能后,当创建表(CREATE TABLE)、更改表(ALTER TABLE)和创建索引(CREATE INDEX)语句时,如果写法有错误,不会有警告信息,而是直接抛出错误,这样就可直接将问题扼杀在摇篮
innodb_sort_buffer_size = 64M
innodb_flush_log_at_trx_commit= # sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数,当两个参数都设置为1的时候写入性能最差,但安全性最高,
# 设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
# 设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去.
# 设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。
innodb_autoextend_increment= # 默认 8M ,单位为M,配置表空间自动扩展,每次扩展多大M
innodb_concurrency_tickets= # 这个参数设置为一种tickets,默认是5000,
innodb_old_blocks_time= # 页读取到mid位置后,需要等待多久才会被加入到LRU列表的热端。默认1000ms
innodb_open_files= # 限制Innodb能打开的表的数据。
innodb_stats_on_metadata= # 是否自动更新统计信息,默认为0关闭,
innodb_file_per_table= # MySQL InnoDB引擎 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,当增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题。通常只能将数据使用mysqldump 导出,然后再导入解决这个问题。如果启用了innodb_file_per_talbe参数,需要注意的是每张表的表空间内存放的只是数据、索引和插入缓冲Bitmap页,其他数据如:回滚信息、插入缓冲索引页、系统事物信息、二次写缓冲(Double write buffer)等还是放在原来的共享表空间内。同时说明了一个问题:即使启用了innodb_file_per_table参数共享表空间还是会不断的增加其大小的。
#innodb_checksum_algorithm= # 是否开启checksum算法
innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:5G #可配置表空间相关参数。
innodb_temp_data_file_path = ibtmp1:200M:autoextend:max:20G # 可配置临时表空间相关参数。 innodb_buffer_pool_dump_pct = # 指定每个缓冲池最近使用的页面读取和转储的百分比,-,默认25
innodb_page_cleaners = # 多个页面清理线程刷脏页,用于指定页面清理线程的数量。其默认值1,维持了之前单个页面清理线程的配置
innodb_purge_rseg_truncate_frequency = # 指定purge操作被唤起多少次之后才释放rollback segments。当undo表空间里面的rollback segments被释放时,undo表空间才会被truncate。由此可见,该参数越小,undo表空间被尝试truncate的频率越高。
binlog_gtid_simple_recovery= #这个变量用于在MySQL重启或启动的时候寻找GTIDs过程中,控制binlog 如何遍历的算法?
#. 当binlog_gtid_simple_recovery=FALSE 时:
# 为了初始化 gtid_executed,算法是: 从newest_binlog -> oldest_binlog 方向遍历读取,如果发现有Previous_gtids_log_event , 那么就停止遍历
# 为了初始化 gtid_purged,算法是: 从oldest_binlog -> newest_binlog 方向遍历读取, 如果发现有Previous_gtids_log_event(not empty)或者 #至少有一个Gtid_log_event的文件,那么就停止遍历
#. 当binlog_gtid_simple_recovery=TRUE 时:
# 为了初始化 gtid_executed , 算法是: 只需要读取newest_binlog
# 为了初始化 gtid_purged, 算法是: 只需要读取oldest_binlog
#. 当设置binlog_gtid_simple_recovery=TRUE , 如果MySQL版本低于5.7.7 , 可能会有gitd计算出错的可能,具体参考官方文档详细描述
log_timestamps=system # 主要是控制 error log、slow_log、genera log,等等记录日志的显示时间参数,但不会影响 general log 和 slow log 写到表 (mysql.general_log, mysql.slow_log) 中的显示时间
#transaction_write_set_extraction=MURMUR32 # 基于WRITESET的并行复制方式
show_compatibility_56=on # mysql兼容性是否兼容mysql5.,这是是开启兼容 lower_case_table_names= # 是否区分大小写 说明 :区分大小写,:不区分大小写
read_only= # 普通是否可读, :关闭可读, :开启可读
super_read_only= # 管理员(super)用户是否可读,超级可读 ,:关闭可读, :开启可读

MySQL——my.cnf参数设置说明的更多相关文章

  1. 关于mysql的wait_timeout参数 设置不生效的问题【转】

    关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...

  2. MySQL服务优化参数设置参考

    l 通用类: key_buffer_size 含义:用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写). 影响:对于MyISAM表的影响不是很大,MyISAM会使用系统的缓存来存储 ...

  3. MySQL 连接数相关参数设置

    当我们的数据库服务器遇到如下的错误:ERROR: Too many connections 一种可能性就是我们的压力确实很大,需要增加服务器硬件资源或者增加数据库服务器.但是大多数情况下是我们的连接数 ...

  4. 关于mysql的wait_timeout参数 设置不生效的问题

    关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...

  5. MySQL my.cnf参数配置优化详解

    [b]PS:本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS -100-300w的站点,主要使用InnoDB存储引擎.其他应用环境请根据实际情况来设置优化.[/b ...

  6. 【转】MySQL my.cnf 参数 详解

    [client] port    = 3306    //客户端端口号为3306 socket  = /tmp/mysql.sock  //套接字文件(sockets),这种文件一般用在网络上的资料套 ...

  7. Mysql Innodb 性能参数设置 https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html

    参考原文: https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html 查看系统 ...

  8. MySQL my.cnf 参数说明

    MySQL 5.5.13 参数说明: [client] character-set-server = utf8 port    = 3306 socket  = /data/mysql/3306/my ...

  9. MySQL配置文件my.cnf参数优化和中文详解

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...

随机推荐

  1. Node.js 中 process.cwd()与__dirname的区别

    process.cwd() 是当前执行node命令时候的文件夹地址 --工作目录,保证了文件在不同的目录下执行时,路径始终不变 __dirname 是被执行的js 文件的地址 --文件所在目录 当前模 ...

  2. Evevt Loop 事件循环

    目录 JavaScript 是一门单线程的语言 一.什么是event Loop的执行机制 练习 异步任务-setTimeout 练习1: 练习2: 练习3: 练习4: 二 事件队列作用 同步任务 例1 ...

  3. 尺取法two pointers

    目的:对给定的一个序列,在序列中寻找包含全部需求的.长度最小的一段子序列.一般用来解决具有单调性的区间问题. 时间复杂度:O(n) https://blog.csdn.net/lxt_lucia/ar ...

  4. acm模板总结

    模板链接 字符串模板 KMP EXKMP Trie 可持久化Trie树+DFS序 01Trie Manacher 字符串哈希 2019上海网络赛G题 17 SA(后缀数组)  最大不重叠相似子串 求两 ...

  5. GitHub Actions 完成CI CD

    在之前我的部署.版本控制.CI.CD都是在Jenkins 下来完成的 在前几天看到github上的一个新玩具actions,简直惊为天人 它能在你的仓库触发事件(Push,Pull,issue,... ...

  6. 蛋疼的 qii 神马警告才是需要注意的警告?(由于警告引起的截然不同的运行结果)解决总结

    接上文!! 蛋疼一天,折腾一天,没找到具体原因,但是找到了具体操作办法! 1.果断删除没用的文件 特别是sdc文件,旧的没用,果断删除,否则系统会默认使用,带来副作用 2.files 添加系统用到的i ...

  7. Linq 常用操作(增删改)

    增加 using(var db = new Entities()) { //数据操作 UserInfo user = new UserInfo() { UserName = "zhangsa ...

  8. 【JS】395-重温基础:事件

    本文是 重温基础 系列文章的第二十篇. 这是第三个基础系列的第一篇,欢迎持续关注呀!重温基础 系列的[初级]和[中级]的文章,已经统一整理到我的[Cute-JavaScript](http://js. ...

  9. 【Webpack】319- Webpack4 入门手册(共 18 章)(上)

    介绍 1. 背景 最近和部门老大,一起在研究团队[EFT - 前端新手村]的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平. 本文也是属于[E ...

  10. 9月腾讯、百度、阿里高频的29道SSM框架面试题解析

    一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入) ...