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. argmax经过sigmoid和不经过sigmoid区别

    起因 今天和同组讨论了一下网络输出时,在torch.argmax之前经过torch.sigmoid和不经过sigmoid的区别. 主要起因是实验结果图像不同 图1 不经过sigmoid 图2 经过si ...

  2. 【Treatment-Rec 论文阅读】Data-driven Automatic Treatment Regimen Development and Recommendation

    Data-driven Automatic Treatment Regimen Development and Recommendation Authors: Leilei Sun, Chuanren ...

  3. 基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!

    前言 今天大姚给大家分享一款基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用:ZR.Admin.NET. 开源免费(基于MIT License开源协议).代码量少.学习简单. ...

  4. 使用 GitLab 账号登陆 KubeSphere

    作者:李帅 介绍 KubeSphere 多租户是实际生产使用中非常需要的一个功能,该功能满足不同用户登陆 KubeSphere 平台的需求.比如开发,运维,测试都需要登陆 KubeSphere 平台, ...

  5. 快速部署和测试ingress-nginx:1.9.6

    点击查看代码 下载deploy文件 https://github.com/kubernetes/ingress-nginx/blob/controller-v1.9.6/deploy/static/p ...

  6. docker容器开启ssh服务

    http://www.dtmao.cc/news_show_703007.shtml Step1 利用CentOS基础镜像,创建一个docker容器,主要这里要指定端口映射,必须要映射到容器内的22端 ...

  7. 狂神说-Docker基础-学习笔记-02 Docker常用命令

    狂神说-Docker基础-学习笔记-02 Docker常用命令 1.帮助命令 docker version #查看版本信息 docker info #显示docker的系统信息 docker `命令` ...

  8. 《JVM第6课》本地方法栈

    1 什么是本地方法 首先要知道什么是本地方法,本地方法并不是 JVM 自己的方法,也不是 jre 里面的方法,而是指那些操作系统自己的方法(如C/C++方法),它们在操作系统目录里.可以这么理解,本地 ...

  9. 使用-solidity-开发第一个-以太坊智能合约

    目录 目录 使用 solidity 开发第一个 以太坊智能合约 前言 项目源代码 最终效果 环境搭建 智能合约内容 Truffle 创建项目 Truffle 编码 Truffle 打包 Truffle ...

  10. 华为云开源时序数据库openGemini:使用列存引擎解决时序高基数问题

    本文来源:<华为云DTSE>第五期开源专刊,作者:向宇,华为云数据库高级研发工程师.黄飞腾,博士,openGemini存储引擎架构师 在时序数据场景中,大部分的解决方案是以时间线为粒度对时 ...