MySQL 5.6 & 5.7最优配置文件模板(my.ini)_Mysql

Inside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。特别注意,这份配置文件不用修改,可以直接运行在MySQL 5.6和5.7的版本下,这里使用了小小的技巧,具体可看配置文件。如果配置参数存在问题,也可以及时反馈Inside君,我们一起成长。

触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本,这导致了绝大部分MySQL并没有运行在最优的环境,从而导致一些错误的使用,亦或是灾难性事故的发生,比如数据丢失,主从数据不一致等。而这些问题早在5.6版本及以后的版本中得到了解决。

最后,抛弃你那所谓的、陈旧的、错误的MySQL配置文件,面向一个崭新的高性能、高可靠、高可扩展MySQL时代,你要做的就是下载这份配置文件并用于你的生产环境。配置如下:

[client]
user=david
password=88888888

[mysqld]
########basic settings########
server-id = 11
port = 3306
user = mysql
bind_address = 10.166.224.32
autocommit = 0
character_set_server=utf8mb4
skip_name_resolve = 1
max_connections = 800
max_connect_errors = 1000
datadir = /data/mysql_data
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size = 134217728
tmp_table_size = 67108864
tmpdir = /tmp
max_allowed_packet = 16777216
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size = 16777216
read_rnd_buffer_size = 33554432
sort_buffer_size = 33554432
########log settings########
log_error = error.log
slow_query_log = 1
slow_query_log_file = 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
expire_logs_days = 90
long_query_time = 2
min_examined_row_limit = 100
########replication settings########
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_bin = bin.log
sync_binlog = 1
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log = relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors
########innodb settings########
innodb_page_size = 8192
innodb_buffer_pool_size = 6G
innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_lru_scan_depth = 2000
innodb_lock_wait_timeout = 5
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_method = O_DIRECT
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_log_group_home_dir = /redolog/
innodb_undo_directory = /undolog/
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 4G
innodb_log_buffer_size = 16777216
innodb_purge_threads = 4
innodb_large_prefix = 1
innodb_thread_concurrency = 64
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
########semi sync replication settings########
plugin_dir=/usr/local/mysql/lib/plugin
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
loose_rpl_semi_sync_master_enabled = 1
loose_rpl_semi_sync_slave_enabled = 1
loose_rpl_semi_sync_master_timeout = 5000

[mysqld-5.7]
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
transaction_write_set_extraction=MURMUR32
show_compatibility_56=on

最后,配置文件下载请点击:http://pan.baidu.com/s/1jHMPu9C

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索MySQL最优配置
,以便于您获取更多的相关知识。

时间: 2024-09-12 14:43:45

MySQL 5.6 & 5.7最优配置文件模板(my.ini)_Mysql的相关文章

MySQL性能调整之my.cnf文件的配置方法

MySQL性能调整之my.cnf文件的配置方法: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-locking set-variable = key_buffer=16M set-variable = max_allowed_packet=1M set-variable = thread_stack=64K set-variable = record_buffer=1M set-variable = t

myeclipse 10.7中用jsp无法连接mysql 5.5 单独用java文件却可以~

问题描述 myeclipse 10.7中用jsp无法连接mysql 5.5 单独用java文件却可以~ 我是要做一个简单的查询数据库操作,在win10 64位系统用tomcat 7 myeclipse 10.7用jsp无法连接数据库,提示NO SUITBLE Driver和空指针但是我换成win 7 32位系统用tomcat 6 myeclipse 85 时就可以查询了,两边的代码和操作都一样~~求大神赐教~!select.jsp中出错代码段:<% Student student=new Stu

python-Python 读取MYSQL数据并插入到CSV文件相应位置

问题描述 Python 读取MYSQL数据并插入到CSV文件相应位置 数据库有一张表,除时间以外,每个字段都有可能重复(因为是按照系统时间,自动获取的网页数据现在我想做一张csv表,表的列名是时间字段(跟据数据库时间自增的),每行开头是名称(数据库存在的,只不过是去重后取出的)那么现在问题来了,如何按照时间名称从数据库获取数据填入相应的位置. 解决方案 你直接用对应的sql语句查询出符合你要求的数据,然后再写入CSV文件. 解决方案二: MySQL 直接读取csv文件数据到表中python读取c

MySQL 5.6.20-enterprise-commercial的参数文件位置问题

今天在折腾MySQL的参数文件时,突然发现MySQL 5.6.20-enterprise-commercial-advanced-log这个版本数据库的参数文件my.cnf的位置有点奇怪,如下所示:   [root@DB-Server ~]# mysql --help | grep my.cnf                       order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /us

MySQL的InnoDB扩容及ibdata1文件瘦身方案完全解析_Mysql

mysql的innodb扩容为了添加一个数据文件到表空间中,首先要关闭 MySQL 数据库,编辑 my.cnf 文件,确认innodb ibdata文件的实际情况和my.cnf的配置是否一致,这里有两种情况: 1.my.cnf的配置 innodb_data_file_path=ibdata1:10G;ibdata2:10G:autoextend 如果当前数据库正在使用ibdata1,或者使用ibdata2,但ibdata2没有超过10G,则对my.cnf配置直接改成: innodb_data_f

应用-怎么样批量导入/写/读EXCEL文件模板

问题描述 怎么样批量导入/写/读EXCEL文件模板 怎么样批量导入/写/读EXCEL文件模板. ..??和Memcached的应用:系统启动.维护与管理,包括写同步.读和写应用 解决方案 不知道你用的什么语言,如果是java,可以使用poi这个库实现. 解决方案二: 可以用CSV,这样excel也能读取,同时你读写它就是简单的文本格式文件

MySQL中二进制与重做日志文件的基本概念学习教程_Mysql

二进制日志二进制日志记录了所有对数据库执行更改的操作,二进制主要有以下两种作用: 1.恢复(recovery)2.复制(replication) 二进制日志的启动:配置参数log-bin[=name],如果不指定name,则默认二进制日志文件名为主机名,后缀名为二级制日志的序列号,所在路径为数据库所在目录. 以index为后缀的文件为二进制日志的索引文件,用来存储过往生产的二进制日志. 和二进制日志相关的参数: max_binlog_size.binlog_cache_size.sync_bin

巧选“文件模板”

我们学校经常要用16开的纸张打印各种计划.总结.报告之类的文件,用8开的纸张打印各种试卷.为了提高工作效率,我在WPS Office中设计了两个模板文件,分别取名为"16开模板"和"8开模板",并把"16开模板"设定为"默认模板".只要一打开WPS Office 就会依据"16开模板"文件新建一个文档.但每当 我要新建8开的试卷文档时,就需要单击"文件"菜单下的"新建"

mysql socket文件作用详解_Mysql

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,一般在配置部署mysql环境时都会在mysql的my.cnf文件中[mysqld]栈下添加上socket文件的路径,而这样做的好处是如果启用了多实例mysql时,可以通过socket文件来快速的登录mysql对应不同端口下的实例,如在一台有部署2个实例的mysql服务一个是用3306,一个是用3307端口,那么就可以通过2个不同的socket文件快速的登录 mysql -uroot -p --socket=