8核心32G独立mysql服务器的配置文件如下:

[client]
port = 3306
socket = /data/mysql/mysql.sock [mysql]
prompt = "mysql [\d]> "
no-auto-rehash [mysqldump]
quick [mysqld]
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /data/mysql/mysql.sock
pid_file = /data/mysql/mysql.pid
log_error = /var/log/mysql.log
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
default_storage_engine = innodb
default_tmp_storage_engine = innodb
transaction_isolation = READ-COMMITTED
log_timestamps = system
skip_name_resolve = 1
lower_case_table_names = 0 #0表示区分大小写,1表示不区分大小写
max_allowed_packet = 32M
back_log = 1024
thread_stack = 512K
bulk_insert_buffer_size = 64M
max_heap_table_size = 32M
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
max_connections = 512
max_connect_errors = 1000000
open_files_limit = 65535
explicit_defaults_for_timestamp = 1 interactive_timeout = 1800
wait_timeout = 1800
lock_wait_timeout = 1800 table_open_cache = 4000
table_definition_cache = 2000
table_open_cache_instances = 32 read_buffer_size = 8M
read_rnd_buffer_size = 4M
sort_buffer_size = 16M
tmp_table_size = 96M
join_buffer_size = 16M
thread_cache_size = 64
key_buffer_size = 32M
myisam_sort_buffer_size = 32M # slow log
slow_query_log = 1
slow_query_log_file = /data/mysql/slow.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
long_query_time = 5 # binlog settings
log_bin = /data/mysql/mybinlog
log_error_verbosity = 2
log_error_verbosity = 2
binlog_cache_size=2M
max_binlog_size = 1G
binlog_checksum = NONE
binlog_format = ROW
binlog_rows_query_log_events = 1
sync_binlog = 1
expire_logs_days = 7 # replication settings
server_id = 101
gtid_mode = on
enforce_gtid_consistency = 1
skip_slave_start = 1
master_info_repository = TABLE
relay_log_info_repository = TABLE
relay_log_recovery = 1
slave_rows_search_algorithms = 'INDEX_SCAN,HASH_SCAN'
slave_parallel_type = logical_clock
slave_parallel_workers = 4 #执行relay log的线程数 # innodb settings
# 以下两个参数的值加起来等于cpu核心数
# 也可以根据读写比例来设置对应比例的线程数
innodb_write_io_threads = 4
innodb_read_io_threads = 4 # 根据服务器IOPS能力适当调整
# 一般配普通SSD盘的话,可以调整到 10000 - 20000
# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
# 普通磁盘可往下降低
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000 innodb_flush_neighbors = 1 #HDD硬盘设为1、SSD设为0 innodb_file_per_table = 1
innodb_rollback_on_timeout = 1
innodb_data_file_path = ibdata1:1G:autoextend
innodb_page_size = 16k
innodb_buffer_pool_size = 24G
innodb_buffer_pool_instances = 4
innodb_lru_scan_depth = 256
innodb_lock_wait_timeout = 50
innodb_flush_method = O_DIRECT
innodb_undo_tablespaces = 3
innodb_log_file_size = 1G
innodb_log_files_in_group = 3
innodb_log_buffer_size = 32M
innodb_purge_threads = 4
innodb_flush_log_at_trx_commit = 1
innodb_print_all_deadlocks = 1
innodb_sort_buffer_size = 4M
innodb_online_alter_log_max_size = 1G
innodb_open_files=65535
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_max_undo_log_size = 2G # perforamnce_schema settings
performance_schema = 1
performance-schema-instrument='memory/%=COUNTED'

secure_file_priv=/var/lib/mysql-files/

默认值为:/var/lib/mysql-files/ 该参数是用来限制LOAD DATA、SELECT ... OUTFILE、LOAD_FILE() 传到哪个指定目录的。seure_file_priv 的值为null 则表示限制mysql不允许导入导出;secure_file_priv的值为/tmp/ 则表示限制mysql的导入导出只能发生在/tmp/目录下;当secure_file_priv的值没有具体值时,表示不对mysqld 的导入导出做限制。secure_file_priv 参数是只读参数,不能使用set global命令修改,只能修改my.cnf配置文件并重启mysql生效

binlog_cache_size=32768

该参数是用来存储事务的二进制日志的缓存,默认值32768 即32k,一个事务在没有提交(uncommitted)的时候,产生的日志,记录到cache中;等到事务提交(committed)的时候,则把日志持久化到磁盘。这个参数不是全局的,而是session级别的,就是每启动一个线程,mysql服务器就对这个线程分配一个size大小的内存,所以这个size不能太大,设置过大可能会耗尽服务器内存。设置太小的话,如果用户提交一个长事务(long_transaction)比如:批量导入数据,那么该事务必然会产生很多binlog,这样cache可能不够用,不够用的时候mysql会把 uncommitted 的部分写入临时文件(临时文件cache的效率必然没有内存cache高),等到committed的时候才会写入正式的持久化日志文件

验证取值是否合理:
mysql [(none)]> show global status like 'binlog_cache_%';
+-----------------------+----------+
| Variable_name | Value |
+-----------------------+----------+
| Binlog_cache_disk_use | 0 |#表示binlog_cache临时文件方式被用上了多少次
| Binlog_cache_use | 19047819 |#表示binlog_cache内存方式被用上了多少次
+-----------------------+----------+ # 当对应的Binlog_cache_disk_use值比较大的时候 我们可以考虑适当的调高 binlog_cache_size 对应的值 # 取值建议
# 如果没有什么大事务,DML也不是很频繁的情况下可以设置小一点(如1048576即1M)
# 如果事务大而且多,DML操作也频繁,则可以适当的调大一点(2097152~4194304 即2~4M) # 动态修改配置(注意:动态修改,只能用byte单位)
mysql> set global binlog_cache_size=1048576 # 配置文件里可用其它单位
vi /etc/my.cnf
binlog_cache_size=2M

binlog_checksum=CRC32

命令行格式 --binlog-checksum=name
范围 global
动态修改 yes
类型 string
默认值 CRC32
有效值 CRC32、NONE

binlog_checksum 默认值 CRC32,此设置下写 binlog 时会为每个 event 写入一个校验值。当binlog_checksum=NONE,则通过检查每个 event 的长度来验证 binlog event 的完整性。在值为 CRC32 时,slave io 线程会检查通过网络接收到的 binlog event 的校验值是否正确,如果检查到损坏的 event,将停止复制并报错
注意:搭建MGR集群时,需要设置 binlog_checksum=NONE

后期将持续更新一些参数的详细用法

参考:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html

https://blog.csdn.net/l10283868

mysql5.7配置文件详解的更多相关文章

  1. mysql5.6配置文件详解(一)

    mysqld  Ver 5.6.11 for Linux on x86_64 (Source distribution)Copyright (c) 2000, 2013, Oracle and/or ...

  2. Hibernate入门核心配置文件和orm元数据配置文件详解

    框架是什么? 框架是用来提高开发效率的 封装了一些功能,我们需要使用这些功能时,调用即可,不用手动实现 所以框架可以理解为一个半成品的项目,只要懂得如何使用这些功能即可 Hibernate是完全面向对 ...

  3. quartz配置文件详解

    quartz配置文件详解(转载)     quartz学习总结: 一.关于job:    用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...

  4. WebConfig配置文件详解

    今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...

  5. tomcat配置文件详解

    Tomcat系列之服务器的安装与配置以及各组件详解   tomcat 配置文件详解

  6. ubuntu nginx 安装以及配置文件详解

    1.到nginx官网下载源码包.最好下载稳定版本,nginx官网http://www.nginx.org/ 2.安装nginx依赖包运行命令: sudo apt-get install libssl- ...

  7. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

  8. spring配置文件详解--真的蛮详细

    spring配置文件详解--真的蛮详细   转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...

  9. net-snmp配置文件详解

    net-snmp配置文件详解 net-snmp的配置文件是有一定的层次结构的,配置起来也很方便.网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点.其实在net-snmp的EXAMPLE.con ...

  10. Rsyslog配置文件详解

    Rsyslog配置文件详解https://my.oschina.net/0757/blog/198329 # Save boot messages also to boot.log 启动的相关信息lo ...

随机推荐

  1. /proc/sys/vm 使用

    这些参数主要是用来调整virtual memory子系统的行为以及数据的写出(从RAM到ROM). 这些节点(参数)的默认值和初始化的过程大部分都可以在mm/swap.c中找到. 目前,/proc/s ...

  2. python处理nii文件

    第一步安装nibabel,可以使用命令:pip install nibabel 之后: from nibabel.viewers import OrthoSlicer3D as osdimport n ...

  3. c#传统读取配置文件

    using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace C ...

  4. 基于乐鑫 ESP32-C3 的 Matter Light 实践

    背景介绍 最近公司在研究 Matter 协议在智能家居领域的市场机会,考虑到易用性和文档支撑等方面,相比较 Telink,产品部门对乐鑫的 Matter-SDK 更感兴趣,因而开展了一些测试工作,毕竟 ...

  5. keycloak~token有效期与session有效期

    一 refresh_token刷新access_token Keycloak会话管理中,获取到accessToken和refreshToken后,基于accessToken交换用户数据或者参与Keyc ...

  6. 在 Azure CNI 中启用 Calico WireGuard

    作者:Peter Kelly 译者:Wendi Wang 注:本文已取得作者本人的翻译授权! 去年6月,Tigera 宣布首次在 K8s 上支持用于集群内加密传输的开源 VPN - WireGuard ...

  7. Effective C++:以const、enum和inline来替换define

    替换define,也就是"以编译器替换预处理器".#define是C语言里的利器,但在C++里有很多取代它的理由. define是预处理的一部分,而不是编译器的一部分,它在编译前就 ...

  8. Git项目提交规范结合Husky + commitlint使用

    一.前置条件 为了更好地 GIT 提交,加入了代码提交规范和规范校验,优雅的提交: 方便团队协作和快速定位问题,采取 Husky + commitlint 辅助项目做约定.  npm install ...

  9. PHP word PDF excel 文档互转 预览 (linux libreoffice)

    1--卸载系统当前的libreoffice 执行如下命令:yum remove libreoffice-* 2--为了能使用镜像,在etc  目录之下的hosts文件内加入代理. 注意没有加的话,可能 ...

  10. 如何在cnblogs的发文中使用自定义地址作为发文链接

    要知道在cnblogs中发表内容后其默认的链接地址都是一串数字的形式,比如本篇的默认地址:https://www.cnblogs.com/xyz/p/18461898 但是为了让发表的内容更有个性化, ...