澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

几份常见的mysql生产布局文件记录,配置文件中文

my3306.cnf

I assume the MySQL Server as followings. You should tune the variables according to your server.

  1. [mysqld]  

  2. ########basic settings########  

  3. server-id = 11   

  4. port = 3306  

  5. user = mysql  

  6. bind_address = 10.166.224.32  

  7. autocommit = on  

  8. character_set_server=utf8mb4  

  9. skip_name_resolve = 1  

  10. max_connections = 800  

  11. max_connect_errors = 1000  

  12. datadir = /data/mysql_data  

  13. transaction_isolation = READ-COMMITTED  

  14. explicit_defaults_for_timestamp = 1  

  15. join_buffer_size = 134217728  

  16. tmp_table_size = 67108864  

  17. tmpdir = /tmp  

  18. max_allowed_packet = 16777216  

  19. sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"  

  20. interactive_timeout = 1800  

  21. wait_timeout = 1800  

  22. read_buffer_size = 16777216  

  23. read_rnd_buffer_size = 33554432  

  24. sort_buffer_size = 33554432  

  25. ########log settings########  

  26. log_error = error.log  

  27. slow_query_log = 1  

  28. slow_query_log_file = slow.log  

  29. log_queries_not_using_indexes = 1  

  30. log_slow_admin_statements = 1  

  31. log_slow_slave_statements = 1  

  32. log_throttle_queries_not_using_indexes = 10  

  33. expire_logs_days = 90  

  34. long_query_time = 2  

  35. min_examined_row_limit = 100  

  36. ########replication settings########  

  37. master_info_repository = TABLE  

  38. 几份常见的mysql生产布局文件记录,配置文件中文注释。relay_log_info_repository = TABLE  

  39. log_bin = bin.log  

  40. sync_binlog = 1  

  41. gtid_mode = on  

  42. enforce_gtid_consistency = 1  

  43. log_slave_updates  

  44. binlog_format = row   

  45. relay_log = relay.log  

  46. relay_log_recovery = 1  

  47. binlog_gtid_simple_recovery = 1  

  48. slave_skip_errors = ddl_exist_errors  

  49. ########innodb settings########  

  50. innodb_page_size = 8192  

  51. innodb_buffer_pool_size = 6G  

  52. innodb_buffer_pool_instances = 8  

  53. innodb_buffer_pool_load_at_startup = 1  

  54. innodb_buffer_pool_dump_at_shutdown = 1  

  55. innodb_lru_scan_depth = 2000  

  56. innodb_lock_wait_几份常见的mysql生产布局文件记录,配置文件中文注释。timeout = 5  

  57. innodb_io_capacity = 4000  

  58. innodb_io_capacity_max = 8000  

  59. innodb_flush_method = O_DIRECT  

  60. innodb_file_format = Barracuda  

  61. innodb_file_format_max = Barracuda  

  62. innodb_log_group_home_dir = /redolog/  

  63. innodb_undo_directory = /undolog/  

  64. innodb_undo_logs = 128  

  65. innodb_undo_tablespaces = 3  

  66. innodb_flush_neighbors = 1  

  67. innodb_log_file_size = 4G  

  68. innodb_log_buffer_size = 16777216  

  69. innodb_purge_threads = 4  

  70. innodb_large_prefix = 1  

  71. innodb_thread_concurrency = 64  

  72. innodb_print_all_deadlocks = 1  

  73. innodb_strict_mode = 1  

  74. innodb_sort_buffer_size = 67108864   

  75. ########semi sync replication settings########  

  76. plugin_dir=/usr/local/mysql/lib/plugin  

  77. plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"  

  78. loose_rpl_semi_sync_master_enabled = 1  

  79. loose_rpl_semi_sync_slave_enabled = 1  

  80. loose_rpl_semi_sync_master_timeout = 5000  

  81.   

  82. [mysqld-5.7]  

  83. innodb_buffer_pool_dump_pct = 40  

  84. innodb_page_cleaners = 4  

  85. innodb_undo_log_truncate = 1  

  86. innodb_max_undo_log_size = 2G  

  87. innodb_purge_rseg_truncate_frequency = 128  

  88. binlog_gtid_simple_recovery=1  

  89. log_timestamps=system  

  90. transaction_write_set_extraction=MURMUR32  

  91. show_compatibility_56=on  

MySQL my.cnf 配置文件中文注释

图片 1

以下是my.cnf配置文件参数解释

[client]

port = 3309
socket = /home/longxibendi/mysql/tmp/mysql.sock

[mysqld]

!include /home/longxibendi/mysql/etc/mysqld.cnf #涵盖的布局文件 ,把用户名,密码文件单独存放

port = 3309
socket = /home/longxibendi/mysql/tmp/mysql.sock
pid-file = /longxibendi/mysql/mysql/var/mysql.pid
basedir = /home/mysql/mysql/
datadir = /longxibendi/mysql/mysql/var/

# tmp dir settings
tmpdir = /home/longxibendi/mysql/tmp/
slave-load-tmpdir = /home/longxibendi/mysql/tmp/
#当slave 执行 load data infile 时用

#
language = /home/longxibendi/mysql/share/mysql/english/
character-sets-dir = /home/longxibendi/mysql/share/mysql/charsets/

# skip options
skip-name-resolve #grant 时,必须利用ip不可能使用主机名
skip-symbolic-links #无法利用连接文件
skip-external-locking #不选拔系统锁定,要运用myisamchk,必须关闭服务器
skip-slave-start #启航mysql,不运维复制

#sysdate-is-now

# res settings
back_log = 50 #经受队列,对于没创立tcp连接的乞请队列放入缓存中,队列大小为back_log,受限制与OS参数
max_connections = 1000 #最大并发连接数 ,增大该值须求相应扩大允许展开的文件讲述符数
max_connect_errors = 10000 #假使某些用户发起的连接error抢先该数值,则该用户的下一次接连将被打断,直到管理员施行flush hosts ; 命令;幸免黑客
#open_files_limit = 10240

connect-timeout = 10 #一而再超时在此之前的最大秒数,在Linux平台上,该超时也视作等待服务器第壹回回应的大运
wait-timeout = 28800 #等候关闭连接的岁月
interactive-timeout = 28800 #关门连接从前,允许interactive_timeout(取代了wait_timeout)秒的不活动时间。客户端的会话wait_timeout变量被设为会话interactive_timeout变量的值。

slave-net-timeout = 600 #从服务器也能够管理网络连接中断。不过,只有从服务器超过slave_net_timeout秒未有从主服务器收到多少才公告网络中断
net_read_timeout = 30 #从服务器读撤废息的超时
net_write_timeout = 60 #从服务器写入音信的逾期
net_retry_count = 10 #若果有个别通讯端口的读操作停顿了,在舍弃前重试数十遍
net_buffer_length = 16384 #包音信缓冲区开端化为net_buffer_length字节,但须求时能够加强到max_allowed_packet字节
max_allowed_packet = 64M #

#
table_cache = 512 #负有线程展开的表的数据。增大该值能够扩张mysqld需求的文书讲述符的数量
thread_stack = 192K #每种线程的饭馆大小
thread_cache_size = 20 #线程缓存
thread_concurrency = 8 #还要运营的线程的数量 此处最好为CPU个数两倍。本机配置为CPU的个数

# qcache settings
query_cache_size = 256M #查询缓存大小
query_cache_limit = 2M #不缓存查询大于该值的结果
query_cache_min_res_unit = 2K #询问缓存分配的纤维块大小

# default settings
# time zone
default-time-zone = system #服务器时区
character-set-server = utf8 #server品级字符集
default-storage-engine = InnoDB #暗中同意存款和储蓄

# tmp & heap
tmp_table_size = 512M #一时表大小,若是赶上该值,则结果放到磁盘中
max_heap_table_size = 512M #该变量设置MEMOHavalY (HEAP)表可以增加到的最大空间尺寸

log-bin = mysql-bin #那一个路子绝对于datadir
log-bin-index = mysql-bin.index
relay-log = relay-log
relay_log_index = relay-log.index

# warning & error log
log-warnings = 1
log-error = /home/mysql/mysql/log/mysql.err

log_output = FILE #参数log_output钦赐了慢查询输出的格式,默以为FILE,你能够将它设为TABLE,然后就足以查询mysql架构下的slow_log表了

# slow query log
slow_query_log = 1
long-query-time = 1 #慢查询时间 抢先一秒则为慢查询
slow_query_log_file = /home/mysql/mysql/log/slow.log
#log-queries-not-using-indexes
#log-slow-slave-statements

general_log = 1
general_log_file = /home/mysql/mysql/log/mysql.log
max_binlog_size = 1G
max_relay_log_size = 1G

# if use auto-ex, set to 0
relay-log-purge = 1 #当不用中继日志时,删除他们。那几个操作有SQL线程完结

# max binlog keeps days
expire_logs_days = 30 #超过30天的binlog删除

binlog_cache_size = 1M #session级别

# replication
replicate-wild-ignore-table = mysql.% #复制时大意数据库及表
replicate-wild-ignore-table = test.% #复制时粗心数据库及表
# slave_skip_errors=all

key_buffer_size = 256M #myisam索引buffer,只有key没有data
sort_buffer_size = 2M #排序buffer大小;线程等第
read_buffer_size = 2M #以全表扫描(Sequential Scan)格局扫描数据的buffer大小 ;线程品级
join_buffer_size = 8M # join buffer 大小;线程等级
read_rnd_buffer_size = 8M #MyISAM以索引围观(Random Scan)方式扫描数据的buffer大小 ;线程等级
bulk_insert_buffer_size = 64M #MyISAM 用在块插入优化中的树缓冲区的分寸。注释:那是三个per thread的限制
myisam_sort_buffer_size = 64M #MyISAM 设置苏醒表之时使用的缓冲区的尺寸,当在REPAIENCORE TABLE或用CREATE INDEX创设索引或ALTEENCORE TABLE进程中排序 MyISAM索引分配的缓冲区
myisam_max_sort_file_size = 10G #MyISAM 假如不经常文件会变稳妥先索引,不要采纳便捷排序索引方法来创立一个索引。注释:那么些参数以字节的款式给出.重建MyISAM索引(在REPAIR TABLE、ALTERAV4 TABLE或LOAD DATA INFILE进程中)时,允许MySQL使用的不时文件的最大空间大小。假如文件的尺寸超越该值,则利用键值缓存创建索引,要慢得多。该值的单位为字节
myisam_repair_threads = 1 #假诺该值大于一,在Repair by sorting进程中相互成立MyISAM表索引(各样索引在温馨的线程内)
myisam_recover = 64K#允许的GROUP_CONCAT()函数结果的最大尺寸

transaction_isolation = REPEATABLE-READ

innodb_file_per_table

#innodb_status_file = 1
#innodb_open_files = 2048
innodb_additional_mem_pool_size = 100M #帧缓存的操纵指标供给从此处申请缓存,所以该值与innodb_buffer_pool对应
innodb_buffer_pool_size = 2G #总结数据页、索引页、插入缓存、锁音讯、自适应哈希所以、数据字典音信
innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空间
innodb_file_io_threads = 4 #io线程数
innodb_thread_concurrency = 16 #InnoDB试着在InnoDB内维持操作系统线程的数码有限或等于这么些参数给出的范围
innodb_flush_log_at_trx_commit = 1 #历次commit 日志缓存中的数据刷到磁盘中

innodb_log_buffer_size = 8M #东西日志缓存
innodb_log_file_size = 500M #东西日志大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #两组事物日志
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志组

innodb_max_dirty_pages_pct = 90 #innodb主线程刷新缓存池中的数据,使脏数据比例小于百分之九十
innodb_lock_wait_timeout = 50 #InnoDB事务在被回滚在此之前能够等待一个锁定的晚点秒数。InnoDB在它和煦的 锁定表中自动检查测试事务死锁并且回滚事务。InnoDB用LOCK TABLES语句注意到锁定设置。默许值是50秒
#innodb_flush_method = O_DSYNC

[mysqldump]
quick
max_allowed_packet = 64M

[mysql]
disable-auto-rehash #同意通过TAB键提醒
default-character-set = utf8
connect-timeout = 3

声称:本文书档案能够私下改变,但必须具名原来的作品者

笔者:凤凰舞者qq:57898985伍

my.cnf 配置文件中文注释 以下是my.cnf配置文件参数解释 [client] port = 3309 socket = /home/longxibendi/mysql/tmp/mysql.sock [mysqld] !include /home/longxiben...

OS:CentOS6.3

[client]
port = 3306   #端口
socket = /data/mysql3306/mysql3306.sock   #mysql以socket方式运转的sock文件地方

32 CPU core

以下配置文件针对戴尔福睿斯710,双至强E5620、16G内部存储器的硬件配备。CentOS 5.6 64位系统,MySQL 伍.5.x 牢固版。适用于日IP 50-100w,PV 100-300w的站点,重要选拔InnoDB存款和储蓄引擎。别的应用情状请依据真实情形来安装优化。

DB:5.6.16

[mysql]
auto-rehash      #自动补全

256G Memory

# 以下选项会被MySQL客户端应用读取。
# 注意唯有MySQL附带的客户端应用程序保险能够读取这段内容。
# 假诺您想你自个儿的MySQL应用程序获取那几个值。
# 需求在MySQL客户端库伊始化的时候内定这个采用。

 

[mysqld_safe]
log-error = /data/mysql3306/my3306.err   #荒唐日志
pid-file = /data/mysql3306/my3306.pid   #process id文件

SSD storage with 20000 IOPS in 16K page size

#
[client]
#password = [your_password]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@

[client] #客户端
port = 3306 #数据库端口330陆
socket = /my/log/mysql.sock #MySQL套接字,多实例下用socket连接

[mysqld]
user = mysql   #mysql以什么样用户运转
port = 3306    #端口
default_storage_engine = InnoDB   #私下认可存款和储蓄引擎
character-set-server = utf8   #默认utf8字符集
socket= /data/mysql3306/mysql3306.sock   #mysql以socket格局运营的sock文件地方
pid-file = /data/mysql3306/mysql3306.pid  #process id文件
datadir = /data/mysql3306/data   #mysql的数码目录
basedir = /usr/local/mysql   #设置目录

# *** 应用定制选项 ***

[mysql]
default-character-set = utf8 #字符集

skip_name_resolve = 1  #剥夺DNS主机名查找,启用后选取IP或localhost
#skip-external-locking   #用来多进程条件下为MyISAM数据表举办锁定
symbolic-links=0  #是还是不是帮忙符号链接,数据库或表能够积累在my.cnf中钦定datadir之外的分区或目录,为0不开启
max_connections = 3000    #mysql最达累斯萨拉姆接数
max_connect_errors = 100000   #越过其总是错误次数会被屏蔽
transaction_isolation = READ-COMMITTED  #东南临离等级
interactive_timeout=180  #服务器关闭交互式连接前等候活动的秒数
wait_timeout=180  #服务器关闭非交互连接之前等待活动的秒数
back_log=600    ##在MYSQL结束响应新请求从前,短期内的略微个请求能够被存在货仓中
#explicit_defaults_for_timestamp = 1  # 即使一行数据中或多或少列被更新了,假诺那1行中有timestamp类型的列,这几个列的数目也会自动更新到至极时间点,设置为1闭馆自动更新时间点

[mysql]

#
# MySQL 服务端
#
[mysqld]

[mysqld]
# file
datadir = /my/data #数据文件路径
pid-file= /my/log/mysql.pid #MySQL进程
log_error=/my/log/mysql.err #MySQL错误日志路线
port = 3306 #数据库端口330陆
socket = /my/log/mysql.sock #MySQL套接字,多实例下用socket连接
character_set_server = utf8 #字符集
#skip-grant-tables #忘却root密码时,可经过--skip-grant-tables运维后连连MySQL同等对待置密码
slow_query_log = 1 #展开慢查询日志
slow_query_log_file = /my/log/slowq.log #慢查询日志路线
long_query_time = 1 #慢查询时间一秒

# LOGGING #
log_bin=/data/mysql3306/logbin/mysql-bin   #binlog日志目录
binlog_format = row    #建议选拔row情势
expire_logs_days = 7  #binlog日志保存天数
# sync_binlog = 1    #调整数据库的binlog刷到磁盘上去,默认为0
slow_query_log = 1   #慢查询开启
slow_query_log_file=/data/mysql3306/my3306slow.log   #慢查询日志文件保留路线
#log_queries_not_using_indexes = 1  #是不是记录未利用索引的话语
#log_slow_admin_statements = 1   #记录optimize table,analyze table和alter table语句
#log_slow_slave_statements = 1  #笔录由Slave所发生的慢查询
#log_throttle_queries_not_using_indexes = 10   #设定每秒钟记录到日志的未利用索引的讲话数目,抢先这些数量后只记录语句数量和消费的总时间
long_query_time = 1   #慢查询时间,单位s
#min_examined_row_limit = 100    #询问检查再次回到少于该参数内定行的SQL不被记录到慢查询日志
#master_info_repository = TABLE  #从机保存主节点音讯方法,设成file时 会生成master.info 和 relay-log.info一个文件,设成table,音信就能设有mysql.master_slave_info表中
#relay_log_info_repository = TABLE  #保存从机读取relay log的岗位音信,可选值为FILE,TABLE
gtid_mode = on  #启用gtid类型
#enforce_gtid_consistency = 1  #强制GTID的一致性
#log_slave_updates   #从机更新是还是不是记入日志,在做双主框架结构时万分主要
#relay_log =/data/slave/mysql-relay.log   #relay_log保存的地方
#relay_log_recovery = 1  #当slave从库宕机后,即使relay-log损坏了,导致有个别对接日志未有管理,则自动遗弃具有未施行的relay-log,并且重新从master上收获日志,那样就确认保障了relay-log的完整性
#binlog_gtid_simple_recovery = 1   #那个参数调整了当mysql运维或重启时,mysql在查找GTIDs时是什么迭代使用binlog文件的。 这一个选项设置为真,会晋级mysql实行恢复的质量。因为如此mysql-server运营和binlog日志清理更加快
#slave_skip_errors = ddl_exist_errors  #跳过不当

default-character-set=utf8mb4

# 一相配备选项
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@

# temp
max_tmp_tables = 64 #展开有的时候表的最大额
max_heap_table_size = 1G #始建内部存款和储蓄器表的的尺寸
tmp_table_size = 512M #内部存款和储蓄器一时表的最大值
slave_load_tmpdir = /my/log #Slave一时目录路径
tmpdir = /my/log #临时目录路线

 

user = root

# back_log 是操作系统在监听队列中所能维系的连接数,
# 队列保存了在MySQL连接管理器线程管理在此之前的连接.
# 假若你有这么些高的连接率并且出现”connection refused” 报错,
# 你就应当扩大此处的值.
# 检查你的操作系统文书档案来收获这些变量的最大值.
# 如果将back_log设定到比你操作系统限制更高的值,将会未有效果
back_log = 300

# session
back_log = 8192 #MySQL结束新请求前代表有多少请求能够偶然货仓
skip-name-resolve #跳过反向分析进程
max_allowed_packet = 32M #客户端接收最大字节会话值
max_connections = 16000 #最洛桑接数
max_connect_errors = 10000 #最大错误连接数,满了特殊须求经过flush hosts来精晓
wait_timeout = 28800 #等待超时时间
binlog_cache_size = 1M #binlog缓存大小

####cache#####
table_open_cache=128    #点名表高速缓存的轻重,表的轻重相似是(max_connections* 查询同时利用的表数)
thread_cache_size=300   #线程池,线程缓存
query_cache_size=128M  #询问缓存大小
query_cache_min_res_unit=128k     #代表query cache 各类结果集存放的一点都不大内部存款和储蓄器大小
sort_buffer_size=8M  #各类连接装置查询排序时所能使用的缓冲区大小
read_buffer_size=8M    #各样连接读查询操作使用的缓存
read_rnd_buffer_size=4M  #各类连接随机读查询操作使用的缓存
join_buffer_size=2M   #种种连接联合查询所使用的缓存大小
bulk_insert_buffer_size=16M    #为贰遍插入多条新记录的INSERT命令分配的缓存区长度
max_heap_table_size=64M    #这些变量定义了用户能够创立的内部存款和储蓄器表(memory table)的大小.这么些值用来测算内部存储器表的最大行数值
tmp_table_size=64M   #有的时候表的分寸

password = 123456

# 不在TCP/IP端口上进行监听.
# 假如全数的进程都以在同等台服务器连接到本地的mysqld,
# 这样设置将是巩固安全的诀窍
# 全体mysqld的连年都是因此Unix sockets 大概命名管道实行的.
# 注意在windows下如果未有张开命名管道选项而只是用此项
# (通过 “enable-named-pipe” 选项) 将会变成mysql服务未有任何意义!
#skip-networking

table_open_cache = 1024 #表缓冲区大小
thread_concurrency = 4 #线程并发数
thread_cache_size = 128 #线程缓冲区大小
thread_handling = pool-of-threads #开启线程池
thread_pool_high_prio_mode = none #新的接连遵照thread_pool_high_prio_mode分出事先级
thread_pool_idle_timeout = 28800 #线程闲置超时时间
thread_pool_oversubscribe = 20 #支撑运营的最大职责数
#max_statement_time = 5000 #垄断(monopoly)查询在MySQL的最长实施时间,单位微秒

query_cache_type=1  #开启Query Cache 功能,有0,1,2三个值

port = 3306

# MySQL 服务所允许的还要会话数的上限
# 个中八个接贰连3将被SUPELX570权限保留作为管理员登六.
# 尽管已经达到了连接数的上限.
max_connections = 3000
# 每一个客户端连接最大的百无一是允许数量,借使到达了此限制.
# 那几个客户端将会被MySQL服务阻止直到推行了”FLUSH HOSTS” 恐怕服务重启
# 违法的密码以及任何在链接时的错误会增加此值.
# 查看 “Aborted_connects” 状态来赢得全局计数器.
max_connect_errors = 30

query_cache_type = 0 #查询缓冲区是还是不是开启 0:关闭 一:开启 2:demand
query_cache_size = 0 #询问缓冲区大小
key_buffer_size = 128M #索引缓冲区大小
myisam_sort_buffer_size = 16M #MyISAM排序缓冲大小
read_buffer_size = 8M #依次读缓区冲大小
read_rnd_buffer_size = 4M #随便读缓冲区大小
sort_buffer_size = 16M #排序缓冲区大小
join_buffer_size = 16M #join缓冲区大小

 

socket = /tmp/mysqld.sock

# 全数线程所展开表的数量.
# 扩充此值就充实了mysqld所必要的公文讲述符的数额
# 那样您供给明确在[mysqld_safe]中 “open-files-limit” 变量设置展开文件数量允许至少40玖陆
table_cache = 4096

# innodb
default_storage_engine = InnoDB #私下认可存储引擎
innodb_data_home_dir = /my/log #innodb存储引擎共享表空间路线,即:ibdata
innodb_data_file_path = ibdata1:256M:autoextend #innodb存款和储蓄引擎大小,自增
innodb_log_group_home_dir = /my/log #ib_logfile日志路线
innodb_log_files_in_group = 2 #ib_logfile两组,每组多少个
innodb_log_file_size = 512M #ib_logfile大小
innodb_log_buffer_size = 8M #日志缓冲区大小
innodb_flush_log_at_trx_commit = 2 #等于2时,不写硬盘而是写入系统缓存,日志仍会每秒写到硬盘
innodb_flush_method = O_DIRECT #向文件写入数据,唯有数据写到了磁盘,写入操作实现(write再次回到成功)
innodb_lock_wait_timeout = 50 #innodb引擎锁等待超时时间
#innodb_thread_concurrency = 16 #innodb线程并发数
innodb_buffer_pool_size = 44G #innodb存款和储蓄引擎缓冲区大小
innodb_additional_mem_pool_size = 20M #用来安装 InnoDB 存款和储蓄的数目目录消息和其他内部数据结构的内部存款和储蓄器池大小
innodb_io_capacity = 1500 #控制Innodb checkpoint时的IO能力
innodb_use_native_aio = 1 #支配是或不是启用Native AIO,暗中认可开启。官方的测试呈现,启用Native AIO,恢复生机速度能够增加陆分三
innodb_file_per_table = 1 #innodb引擎使用独立的表空间
innodb_open_files = 3000 #innodb张开文件数
innodb_print_all_deadlocks = 1 #在error中打字与印刷锁新闻

###MyISAM###
#key_buffer_size=64M   #目录缓存大小
#key_cache_block_size=四k   钦定各个索引缓存的区块大小
#myisam_sort_buffer_size=2M 

prompt="u@h d>"

# 允许外部文件级其他锁. 打开文件锁会对品质变成负面影响
# 所以唯有在您在同样的公文上运营八个数据库实例时才使用此选项(注意仍会有其余约束!)
# 可能你在文件层面上应用了其余一些软件信赖来锁定MyISAM表
#external-locking

# others
memlock = 1 #MySQL是还是不是选取沟通分区

########innodb settings########
#innodb_page_size = 4k  #innodb每一种数据页大小
innodb_buffer_pool_size = 4G  #缓存innodb表的目录,数据,插入数据时的缓冲,专项使用mysql服务器设置的大小: 操作系统内部存款和储蓄器的7/10-十分之八至上
innodb_buffer_pool_instances = 1   #能够敞开八个内部存款和储蓄器缓冲池,把必要缓冲的数目hash到区别的缓冲池中,那样能够并行的内部存款和储蓄器读写
#innodb_buffer_pool_load_at_startup = 1  #默以为关闭OFF。倘使翻开该参数,运转MySQL服务时,MySQL将本地球热能数据加载到InnoDB缓冲池中
#innodb_buffer_pool_dump_at_shutdown = 1  #默感觉关闭OFF。假设翻开该参数,甘休MySQL服务时,InnoDB将InnoDB缓冲池中的热数据保存到本地硬盘
#innodb_lru_scan_depth = 2000  #会影响page cleaner线程每一回刷脏页的数目, 那是二个每壹秒 loop3次的线程
innodb_lock_wait_timeout = 50   事务等待获取能源等待的最长日子,超过这些日子还未分配到财富则会回去应用战败,单位s
#innodb_io_capacity = 4000 
#innodb_io_capacity_max = 8000   #那多个设置会影响InnoDB每秒在后台试行稍微操作,知道能够可实行多少次IO操作最棒
#innodb_flush_method = O_DIRECT  #暗中同意值为 fdatasync. 要是使用 硬件RAID磁盘调节器, 恐怕必要设置为 O_DIRECT,不选取硬件RAID调控器,或许应用SAN存款和储蓄时, O_DIRECT 大概会导致质量下降

# 服务所能管理的乞请包的最大尺寸以及服务所能管理的最大的呼吁大小(当与大的BLOB字段一齐职业时相当供给)
# 每个连接独立的大小.大小动态扩充
max_allowed_packet = 32M

# replication
server-id = 1137 #server-id 搭建基本时必须配备且唯1
log-bin = /my/log/mysql-bin #二进制日志文件路线
#binlog-ignore-db=mysql #过滤mysql库的2进制日志
binlog_format = mixed #二进制日志形式分三种,分别为:row,statement,mixed
expire_logs_days = 7 #删去过期日志时间
relay_log = /my/log/relay-bin #relay-log文件路线
#replicate_ignore_db = mysql #复制过滤MySQL库
#slave_skip_errors = 1062 #基本同步现身难题,从库忽略全体体系为拾6二的一无是处
log_slave_updates = 1 #级联复制利用的参数,为满意M-S-S
skip-slave-start #Slave不会随MySQL的开发银行而运转
#read_only = 1 #只读
sync_binlog = 1 #将binlog_cache中的数据强制写入磁盘

#innodb_log_group_home_dir = /data/mysql3306/redolog/     #redolog重做日志存放目录
#innodb_undo_directory = /data/mysql3306/undolog/   #undolog回滚日志存放目录
innodb_undo_logs = 128  #undo回滚段的数据, 至少超越等于35,默许128
#innodb_undo_tablespaces = 3   #用以设定创制的undo表空间的个数,在mysql_install_db时初始化后,就再也不可能被更改了;私下认可值为0,表示不独立设置undo的tablespace,默许记录到ibdata中;
innodb_flush_neighbors = 1   #InnoDB存款和储蓄引擎在刷新3个脏页时,会检查实验该页所在区(extent)的持有页,即使是脏页,那么共同刷新。那样做的益处是通过AIO能够将八个IO写操作合并为三个IO操作。对于价值观机械硬盘建议采取,而对于机械硬盘能够关闭。
innodb_log_file_size = 1G  #概念了日志文件的轻重,innodb日志文件的功用是用来保存redo日志
innodb_log_buffer_size = 8M  #工作在内部存款和储蓄器中的缓冲。 分配原 则:调节在二-捌M.这些值不用太多的。他个中的内部存款和储蓄器一般一分钟写到磁盘1回
innodb_purge_threads = 4   #支配是还是不是使用,使用多少个独立purge线程(清除2进制日志)
innodb_large_prefix = 1  #当改为ON时,允许列索引最大致达3072
innodb_thread_concurrency = 64  #InnoDB kernel并发最大的线程数
innodb_print_all_deadlocks = 1  #是否将死锁相关新闻保存到MySQL 错误日志中
innodb_strict_mode = 1  #翻开InnoDB严酷检查格局,尤其选择了页数据压缩成效后,最棒是翻开该意义,假如写法有错误,不会有警示新闻,而是径直抛出荒唐
innodb_sort_buffer_size = 8M  #OEnclaveDE猎豹CS六 BY 或许GROUP BY 操作的buffer缓存大小

[mysqld]

# 在二个事情中binlog为了记录SQL状态所持有的cache大小
# 如果您平日利用大的,多表明的工作,你可以追加此值来获得越来越大的质量.
# 全部从事务来的情况都将被缓冲在binlog缓冲中然后在付给后二回性写入到binlog中
# 借使事情比此值大, 会使用磁盘上的一时文件来代替.
# 此缓冲在各个连接的政工第壹回立异情形时被制造
binlog_cache_size = 4M

[mysqldump]
default-character-set = utf8 #数据库字符集

######mysqld-5.7########
innodb_buffer_pool_dump_pct = 40    #意味着转储每一种bp instance LRU上最热的page的百分比。通过设置该参数可以减弱转储的page数
innodb_page_cleaners = 4   #引进了多个page cleaner线程。从而达到并行刷脏的意义
innodb_undo_log_truncate = 1  #是或不是开启在线回收(减弱)undo log日志文件,支持动态设置
innodb_max_undo_log_size = 2G  #当跨越这一个阀值(默许是一G),会触发truncate回收(收缩)动作,truncate后空中压缩到十M
innodb_purge_rseg_truncate_frequency = 128  #支配回收(减弱)undo log的成效。undo log空间在它的回滚段尚未获取释放以前不会收缩, 想要扩大释放回滚区间的成效,就得降低设定值
binlog_gtid_simple_recovery=1  #本条参数调控了当mysql运维或重启时,mysql在查究GTIDs时是何等迭代使用binlog文件的。 这一个选项设置为真,会升高mysql试行复苏的习性。因为如此mysql-server运转和binlog日志清理越来越快
log_timestamps=system   #伍.7.二 之后改参数为私下认可 UTC 那样会导致日志中记录的日子比中华夏族民共和国那边的慢,导致查看日志不便民。修改为 SYSTEM 就能够消除难题
#transaction_write_set_extraction=MURMUR32  #用来定义二个记下事务的算法,这一个算法使用hash标志来记录事务。要是使用MG奥迪Q7,那么这一个hash值需求用于布满式争执检查测试何管理#,在6拾7位的种类,官网提出设置该参数使用 XXHASH64 算法。假若线上并未动用该意义,应该设为off
#show_compatibility_56=on  #从mysql5.7.6开始information_schema.global_status已经伊始被抛弃,为了包容性,此时内需开拓show_compatibility_56
[mysqldump]
quick 
max_allowed_packet = 32M     #mysql最大接受的数目包大小

# basic settings #

# 独立的内部存款和储蓄器表所允许的最大容积.
# 此选项为了堤防意外成立三个超大的内部存款和储蓄器表导致永尽全体的内部存款和储蓄器能源.
max_heap_table_size = 128M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

user = mysql

# 排序缓冲被用来拍卖类似O中华VDER BY以及GROUP BY队列所引起的排序
# 假设排序后的数目无法放入排序缓冲,
# 三个用来代替的依据磁盘的合并分类会被应用
# 查看 “Sort_merge_passes” 状态变量.
# 在排序产生时由每一种线程分配
sort_buffer_size = 16M

#skip-grant-tables   #跳过权力

bind-address = 0.0.0.0

# 此缓冲被采纳来优化全同台(full JOINs 不带索引的协同).
# 类似的一齐在宏大大多气象下有特别倒霉的本性表现,
# 可是将此值设大能够缓慢化解品质影响.
# 通过 “Select_full_join” 状态变量查看全同台的数码
# 当全同台发出时,在各种线程中分红
join_buffer_size = 16M

socket = /tmp/mysqld.sock

# 大家在cache中保存多少线程用于重用
# 当1个客户端断开连接后,借使cache中的线程还有限thread_cache_size,
# 则客户端线程被放入cache中.
# 那能够在您需求大批量新连接的时候非常大的滑坡线程创立的开销
# (一般的话倘诺您有好的线程模型的话,那不会有分明的本性提升.)
thread_cache_size = 16

character_set_server = utf8mb4

# 此允许应用程序给予线程系统1个提醒在同不时间给予渴望被运营的线程的数量.
# 此值只对于支撑 thread_concurrency() 函数的种类有含义( 例如Sun Solaris).
# 你可能够尝尝采用 [CPU数量]*(2..4) 来作为thread_concurrency的值
thread_concurrency = 8

transaction_isolation = READ-COMMITTED

# 查询缓冲常被用来缓冲 SELECT 的结果还要在下二次同样查询的时候不再进行直接再次来到结果.
# 展开查询缓冲能够十分大的滋长期服用务器速度, 如若你有大气的一致的询问并且很少修改表.
# 查看 “Qcache_lowmem_prunes” 状态变量来检查是或不是当前值对于你的负载来讲是还是不是丰富高.
# 注意: 在你表平常转移的情状下仍然只要你的查询原来的书文每趟都不可同日而语,
# 查询缓冲或者引起质量降低而不是性质进步.
query_cache_size = 128M

explicit_defaults_for_timestamp = 1

# 只有小于此设定值的结果才会被缓冲
# 此设置用来维护查询缓冲,制止2个庞大的结果集将别的全数的询问结果都覆盖.
query_cache_limit = 4M

max_allowed_packet = 67108864    //限制Server接受的数额包大小。一时候大的插入和翻新会受此参数限制,导致大数额写入也许更新失利

# 被全文字笔迹核准索索引的细小的字长.
# 你也许希望减弱它,即便您供给索求越来越短字的时候.
# 注意在您改改此值之后,
# 你须求重建你的 FULLTEXT 索引
ft_min_word_len = 8

max_long_data_size = 67108864    //设定可以由mysql_stmt_send_long_data()那么些C API函数所传递的参数值的最大尺寸,若是未有在mysqld运营时设定,其默认为max_allowed_packet变量的值

# 假令你的系统匡助 memlock() 函数,你只怕希望开采此选项用以让运维中的mysql在在内部存款和储蓄器中度紧张的时候,数据在内部存款和储蓄器中保持锁定并且防卫或然被swapping out
# 此选项对于品质有益
#memlock

event_scheduler = 1    //事件调节器的总开关

# 当创造新表时作为暗许使用的表类型,
# 假诺在成立表示从没特别实行表类型,将会利用此值
default_table_type = MYISAM

default_password_lifetime = 0    //设置密码自动失效的时辰,0为永不失效

# 线程使用的堆大小. 此体量的内设有每趟再而三时被预留.
# MySQL 本人常不会须求超过64K的内部存款和储蓄器
# 尽管您利用你协调的内需多量堆的UDF函数
# 大概你的操作系统对于有些操作要求越来越多的堆,
# 你恐怕要求将其安装的更加高级中学一年级点.
thread_stack = 512K

autocommit = 1

# 设定暗许的专业隔开品级.可用的等级如下:
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ

server-id = 1

# 内部(内存中)有的时候表的最大尺寸
# 借使2个表增进到比此值更加大,将会自行转变为遵照磁盘的表.
# 此限制是本着单个表的,而不是总和.
tmp_table_size = 128M

sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

# 展开贰进制日志成效.
# 在复制(replication)配置中,作为MASTEXC60主服务器必须打开此项
# 即使您供给从你最终的备份中做依据时间点的还原,你也如出一辙须要贰进制日志.
log-bin=mysql-bin

# 假如你在行使链式从服务器结构的复制格局 (A->B->C),
# 你必要在服务器B上张开此项.
# 此选项张开在从线程上海重机厂做过的换代的日记,
# 并将其写入从服务器的贰进制日志.
#log_slave_updates

# connection #

# 展开全查询日志. 全数的由服务器收到到的查询 (乃至对于几个错误语法的询问)
# 都会被记录下来. 那对于调节和测试极其有用, 在生养条件中不经常关闭此项.
#log

interactive_timeout = 1800    //MySQL服务器关闭交互式连接前等待的秒数

# 将警告打字与印刷输出到不当log文件. 借使您对此MySQL有此外难点
# 你应有张开警告log并且精心核查错误日志,查出恐怕的原因.
#log_warnings

wait_timeout = 1800    //MySQL服务器关闭非交互连接从前等待的秒数

# 记录慢速查询. 慢速查询是指消耗了比 “long_query_time” 定义的越来越多时光的查询.
# 如果 log_long_format 被打开,那2个未有运用索引的询问也会被记录.
# 假使你平日扩大新查询到已部分系统内的话. 一般的话那是一个好主意,
log_slow_queries

lock_wait_timeout = 1800

# 全体的施用了比这些时刻(以秒为单位)愈来愈多的查询会被认为是慢速查询.
# 不要在此处运用”一″, 不然会促成全体的询问,乃至老大快的查询页被记录下来(由于MySQL 近日时间的正确度只可以达到秒的等级).
long_query_time = 6

skip_name_resolve = 1

# 在慢速日志中著录越来越多的新闻.
# 一般此项最佳展开.
# 张开此项会记录使得那么些尚未行使索引的查询也被用作到慢速查询附加到慢速日志里
log_long_format

max_connections = 1024    //针对全体用户连接限制

# 此目录被MySQL用来保存有时文件.举例,
# 它被用来拍卖依赖磁盘的特大型排序,和内部排序一样.
# 以及轻易的一时表.
# 借让你不创制充裕大的一时文件,将其放置到 swapfs/tmpfs 文件系统上可能正如好
# 另一种选择是您也足以将其放置在单身的磁盘上.
# 你能够运用”;”来放置三个门路
# 他们会安分守纪roud-robin方法被轮询使用.
#tmpdir = /tmp

max_user_connections = 256    //针对同一用户的连日限制

# *** 主从复制相关的装置

max_connect_errors = 1000000    //当错误连接数超越设定的值后,将不或然符合规律连接

# 唯一的服务辨识号,数值位于 一 到 二^32-1之间.
# 此值在master和slave上都亟需设置.
# 倘若 “master-host” 未有棉被服装置,则默以为一, 可是假若忽略此选项,MySQL不会作为master生效.
server-id = 1

# 复制的Slave (去掉master段的讲明来使其收效)
#
# 为了铺排此主机作为复制的slave服务器,你能够挑选三种办法:
#
# 壹) 使用 CHANGE MASTESportage TO 命令 (在大家的手册中有完整描述) –
# 语法如下:
#
# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
# MASTER_USER=, MASTER_PASSWORD= ;
#
# 你需求替换掉 , , 等被尖括号包围的字段以及选拔master的端口号替换 (私下认可330陆).
#
# 例子:
#
# CHANGE MASTER TO MASTER_HOST=’125.564.12.1′, MASTER_PORT=3306,
# MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;
#
# 或者
#
# 贰) 设置以下的变量. 不论咋样, 在你挑选这种办法的景况下, 然后先是次运行复制(乃至不成功的情景下,
# 举例壹旦您输入错密码在master-password字段并且slave不能连接),
# slave会创设3个 master.info 文件,并且之后任何对于富含在此文件内的参数的变型都会被忽视
# 并且由 master.info 文件内的内容覆盖, 除非你关闭slave服务, 删除 master.info 并且重启slave 服务.
# 由于那一个原因,你也许不想碰一下的配置(注释掉的) 并且动用 CHANGE MASTER TO (查看上面) 来替代
#
# 所急需的唯一id号位于 二 和 2^3二 – 一之间
# (并且和master不同)
# 假诺master-host被装置了.则暗中同意值是二
# 然则1旦轻便,则不会收效
#server-id = 2
#
# 复制结构中的master – 必须
#master-host =
#
# 当连接到master上时slave所用来证明的用户名 – 必须
#master-user =
#
# 当连接到master上时slave所用来验证的密码 – 必须
#master-password =
#
# master监听的端口.
# 可选 – 默认是3306
#master-port =

# table cache performance settings #

# 使得slave只读.唯有用户全部SUPEMurano权限和在上头的slave线程能够修改数据.
# 你能够采纳此项去承接保险没有应用程序会古怪的修改slave而不是master上的数额
#read_only

table_open_cache = 4096    //钦点表高速缓存的分寸。每当MySQL访问1个表时,假诺在表缓冲区中还有空间,该表就被展开并放入个中,那样能够更加快地访问表内容

#*** MyISAM 相关选项

table_definition_cache = 4096    //表定义消息缓存

# 关键词缓冲的尺寸, 一般用来缓冲MyISAM表的索引块.
# 不要将其安装大于你可用内部存款和储蓄器的30%,
# 因为一些内部存款和储蓄器一样被OS用来缓冲行数据
# 以致在你并不选择MyISAM 表的情况下, 你也急需依然设置起 八-6四M 内部存款和储蓄器由于它一样会被里面对时磁盘表使用.
key_buffer_size = 128M

table_open_cache_instances = 64    //指的是 MySQL 缓存 table 句柄的分区的个数,而每三个 cache_instance 能够分包不超越table_open_cache/table_open_cache_instances 的table_cache_element

# 用来做MyISAM表全表扫描的缓冲大小.
# 当全表扫描要求时,在对应线程中分配.
read_buffer_size = 8M

# 当在排序之后,从几个早就排序好的队列中读取行时,行数据将从那么些缓冲中读取来防护磁盘寻道.
# 就算你巩固此值,能够巩固广大OSportageDELX570 BY的质量.
# 当供给时由各个线程分配
read_rnd_buffer_size = 64M

# session memory settings #

# MyISAM 使用非常的类似树的cache来使得突发插入
# (那个插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
# INFILE) 越来越快. 此变量限制种种进度中缓冲树的字节数.
# 设置为 0 会倒闭此优化.
# 为了最优化不要将此值设置大于 “key_buffer_size”.
# 当突发插入被检查实验到时此缓冲将被分配.
bulk_insert_buffer_size = 256M

read_buffer_size = 16M    //MySQL读入缓冲区的分寸,将对表进行逐1扫描的请求将分配贰个读入缓冲区,MySQL会为它分配壹段内部存储器缓冲区,read_buffer_size变量支配那1缓冲区的大大小小,假设对表的逐条扫描非常频繁,并你感到频仍扫描举行的太慢,能够经过扩充该变量值以及内部存款和储蓄器缓冲区大小提升其属性,read_buffer_size变量支配那1升高表的各类扫描的频率 数据文件顺序

# 此缓冲当MySQL供给在 REPAIPAJERO, OPTIMIZE, ALTE智跑 以及 LOAD DATA INFILE 到3个空表中挑起重建索引时被分配.
# 那在各类线程中被分配.所以在安装大值时需求小心.
myisam_sort_buffer_size = 256M

read_rnd_buffer_size = 32M    //

# MySQL重建索引时所允许的最大一时文件的大小 (当 REPAIENVISION, ALTELX570 TABLE 大概 LOAD DATA INFILE).
# 假设文件大小比此值更加大,索引会通过键值缓冲成立(越来越慢)
myisam_max_sort_file_size = 10G

sort_buffer_size = 32M    //是MySQL的随便读缓冲区大小,当按专擅顺序读取行时(列如依照相排版序依次)将分配1个率性读取缓冲区,举办排序查询时,MySQL会率先扫描壹次该缓冲,以制止磁盘搜索,提升查询速度,如若急需大量数目可格外的调动该值,但MySQL会为各样客户连接分配该缓冲区所以尽恐怕方便设置该值,防止内部存储器花费过大。表的随机的逐壹缓冲 升高读取的效能

# 假若被用来越来越快的目录创立索引所使用临时文件大于制定的值,那就使用键值缓冲方法.
# 那首要用来强制在大表中长字串键去选择慢速的键值缓冲方法来创制索引.
myisam_max_extra_sort_file_size = 10G

tmp_table_size = 64M    //它规定了在这之中内存有的时候表的最大值,种种线程都要分配。(实际起限制功用的是tmp_table_size和max_heap_table_size的细小值。)倘使内部存款和储蓄器不经常表赶过了限制,MySQL就能活动地把它转化为基于磁盘的MyISAM表,存款和储蓄在钦定的tmpdir目录下。优化查询语句的时候,要幸免采取一时表,假设实际幸免不了的话,要力保这么些偶然表是存在内部存款和储蓄器中的。如果须要的话并且你有数不完group by语句,并且你有成千上万内部存款和储蓄器,增大tmp_table_size(和max_heap_table_size)的值。那几个变量不适用与用户创设的内部存款和储蓄器表(memory table).

# 若是3个表具有超越一个目录, MyISAM 能够透过相互排序使用当先2个线程去修复他们.
# 那对于有所两个CPU以及大气内部存款和储蓄器情状的用户,是三个很好的选取.
myisam_repair_threads = 1

你能够相比较之中基于磁盘的不常表的总的数量和开创在内存中的偶然表的总额(Created_tmp_disk_tables和Created_tmp_tables),一般的比例关系是:

# 自动物检疫查和修复未有适度关闭的 MyISAM 表.
myisam_recover

Created_tmp_disk_tables/Created_tmp_tables<5%。max_heap_table_size其一变量定义了用户能够制造的内存表(memory table)的大小.那一个值用来计算内部存款和储蓄器表的最大行数值。这么些变量支持动态改造,即set @max_heap_table_size=#

# 暗中认可关闭 Federated
skip-federated

,可是对于曾经存在的内存表就从未有过什么用了,除非这几个表被再一次创制(create table)或许修改(alter table)或许truncate table。服务重启也会设置已经存在的内部存储器表为大局max_heap_table_size的值。

# *** BDB 相关选项 ***

其1变量和tmp_table_size一同限制了个中内部存款和储蓄器表的分寸。

# 假如您运转的MySQL服务有BDB支持然则你不希图使用的时候利用此选项. 那会节约内部存款和储蓄器并且或者加速一些事.
skip-bdb

join_buffer_size = 128M    //用于表间关联缓存的尺寸

# *** INNODB 相关选项 ***

thread_cache_size = 64    //服务器线程缓存那一个值表示能够重新采纳保存在缓存中线程的数据,当断开连接时1旦缓存中还有空间,那么客户端的线程将被放置缓存中,假若线程重新被呼吁,那么请求将从缓存中读取,假若缓存中是空的也许是新的乞请,那么这几个线程将被重新创造,假若有成百上千新的线程,扩展那几个值能够立异系统品质.通过相比较Connections 和 Threads_created 状态的变量,可以看到那几个变量的功效.

# 假诺你的MySQL服务蕴涵InnoDB帮忙然则并不准备采取以来,
# 使用此选项会节外省部存款和储蓄器以及磁盘空间,并且加快某个部分
#skip-innodb

# 附加的内部存款和储蓄器池被InnoDB用来保存 metadata 新闻
# 如若InnoDB为此目标须要更加的多的内部存储器,它会起来从OS这里申请内存.
# 由于那些操作在大部今世操作系统上业已足足快, 你相似无需修改此值.
# SHOW INNODB STATUS 命令会显示当先使用的数量.
innodb_additional_mem_pool_size = 64M

# log settings #

# InnoDB使用3个缓冲池来保存索引和原始数据, 不像 MyISAM.
# 这里您设置越大,你在存取表里面数据时所要求的磁盘I/O越少.
# 在三个独自使用的数据库服务器上,你能够安装这么些变量到服务道具理内部存款和储蓄器大小的五分四
# 不要设置过大,不然,由于大意内部存款和储蓄器的竞争大概导致操作系统的换页颠簸.
# 注目的在于30位系统上您每一种进度也许被限定在 二-三.5G 用户规模内部存款和储蓄器限制,
# 所以不要设置的太高.
innodb_buffer_pool_size = 6G

log_error = error.log

# InnoDB 将数据保存在三个如故七个数据文件中形成表空间.
# 固然你唯有单个逻辑驱动保存你的数据,七个单个的自增文件就足够好了.
# 其余意况下.种种设备1个文件一般都以个好的选拔.
# 你也能够铺排InnoDB来利用裸盘分区 – 请仿照效法手册来获得更加多相关内容
innodb_data_file_path = ibdata1:10M:autoextend

log-bin = mysql-bin

# 设置此选项借使您期望InnoDB表空间文件被保留在此外分区.
# 私下认可保存在MySQL的datadir中.
#innodb_data_home_dir =

slow_query_log = 1

# 用来一同IO操作的IO线程的数量. This value is
# 此值在Unix下被硬编码为四,但是在Windows磁盘I/O大概在一个大数值下显现的越来越好.
innodb_file_io_threads = 4

slow_query_log_file = slow.log

# 借使您意识InnoDB表空间损坏, 设置此值为二个非零值恐怕接济你导出您的表.
# 从一方始还要增添此值知道你能够成功的导出表.
#innodb_force_recovery=1

log_queries_not_using_indexes = 1

# 在InnoDb宗旨内的同意线程数量.
# 最优值正视于应用程序,硬件以及操作系统的调节情势.
# 过高的值只怕导致线程的排挤颠簸.
innodb_thread_concurrency = 16

log_slow_admin_statements = 1    //记录推行缓慢的田间管理SQL

# 假设设置为一 ,InnoDB会在每一次提交后刷新(fsync)事务日志到磁盘上,
# 那提供了整机的ACID行为.
# 假使您愿意对事情安全折衷, 并且你正在运营2个小的食品, 你能够设置此值到0恐怕贰来压缩由业务日志引起的磁盘I/O
# 0代表日志只大概每秒写入日志文件同时日志文件刷新到磁盘.
# 二代表日志写入日志文件在历次提交后,可是日志文件只有差不多每秒才会刷新到磁盘上.
innodb_flush_log_at_trx_commit = 2
(表明:假设是游玩服务器,建议此值设置为二;假使是对数据安全供给非常高的利用,提议安装为1;设置为0质量最高,但假设发生故障,数据只怕会有遗失的危急!暗中认可值一的意趣是每1遍事情提交或作业外的一声令下都急需把日志写入(flush)硬盘,那是很伤脑筋的。非常是应用电池供电缓存(Battery backed up cache)时。设成2对于广大应用,非常是从MyISAM表转过来的是可以的,它的乐趣是不写入硬盘而是写入系统缓存。日志还是会每秒flush到硬盘,所以你相似不会丢掉当先一-2秒的翻新。设成0会更加快一些,但安全方面相比较差,就算MySQL挂了也只怕会丢掉事务的数码。而值一只会在漫天操作系统挂了时才恐怕丢数据。)

log_slow_slave_statements = 1    //记录从库上施行的慢查询语句 

# 加速InnoDB的关闭. 那会阻碍InnoDB在关闭时做全清除以及插入缓冲合并.
# 那或者非常大扩展关机时间, 可是代表的是InnoDB大概在后一次运转时做这几个操作.
#innodb_fast_shutdown

log_throttle_queries_not_using_indexes = 10    //每分钟允许记录到slow log的且未选择索引的SQL语句次数

# 用来缓冲日志数据的缓冲区的大小.
# 当此值快满时, InnoDB将必须刷新数据到磁盘上.
# 由于大多每秒都会刷新3次,所以无需将此值设置的太大(以至对于长职业来说)

expire_logs_days = 30

innodb_log_buffer_size = 16M

long_query_time = 2

# 在日志组中各类日志文件的大小.
# 你应当设置日志文件总合大小到您缓冲池大小的1/4~100%
# 来幸免在日记文件覆写上不须要的缓冲池刷新行为.
# 不论怎样, 请注意1个大的日志文件大小会追加恢复生机进度所急需的时间.
innodb_log_file_size = 512M

min_examined_row_limit = 100    //查询语句的实行行数检查再次回到少于该参数钦定行的SQL不被记录到慢查询日志

# 在日志组中的文件总量.
# 日常来讲二~三是相比好的.
innodb_log_files_in_group = 3

binlog-rows-query-log-events = 1    //当binlog_fromat=row的时候记录的是event,假若想要在row情势的情事下也记录SQL语句

# InnoDB的日记文件所在地方. 暗中同意是MySQL的datadir.
# 你能够将其钦点到一个单独的硬盘上依然一个RAID1卷上来增加其质量
#innodb_log_group_home_dir

log-bin-trust-function-creators = 1    //此参数仅在启用二进制日志时有效,用于调控成立存储函数时壹旦会造成不安全的轩然大波记录2进制日志条件下是还是不是禁止创制存款和储蓄函数。私下认可值为0,表示除非用户除了那个之外CREATE ROUTING或ALTE中华VROUTINE权限外还有SUPE福特Explorer权限,不然将禁止成立或涂改存款和储蓄函数,同时,还必要在开创函数时必备为之使用DETEHummerH二MINISTIC属性,再不然正是附带READS SQL DATA或NO SQL属性。设置其值为一时则不启用那几个限制。作用范围为全局品级,可用于配置文件,属动态变量。

# 在InnoDB缓冲池中最大允许的脏页面包车型大巴比例.
# 假设到达限额, InnoDB会初叶刷新他们防止他们妨碍到根本数据页面.
# 那是一个软限制,不被保险相对施行.
innodb_max_dirty_pages_pct = 90

log-slave-updates = 1    //一般景观下slave不会把从master接收到的binlog记录写入自个儿的binlog,那些参数会使slave通过SQL线程把从master接受到的binlog写进自身的binlog,但是前提是slave一定要展开本身的binlog,此参数一般用来级联复制,举例需求A复制到B,B复制到C,那么B将要拉开此参数。

# InnoDB用来刷新日志的方法.
# 表空间总是利用双重写入刷新方法
# 默许值是 “fdatasync”, 另一个是 “O_DSYNC”.
#innodb_flush_method=O_DSYNC

# 在被回滚前,三个InnoDB的政工应该等待三个锁被认同多长时间.
# InnoDB在其兼具的锁表中自动物检疫验事务死锁并且回滚事务.
# 即使您选拔 LOCK TABLES 指令, 也许在依然故小编事务中运用除了InnoDB以外的其余专业安全的贮存引擎
# 那么四个死锁恐怕产生而InnoDB不可能注意到.
# 这种处境下那一个timeout值对于消除这种难点就卓殊有帮衬.
innodb_lock_wait_timeout = 120

# innodb settings #

[mysqldump]
# 不要在将内部存款和储蓄器中的整套结果写入磁盘从前缓存. 在导出非常伟大的表时需求此项
quick

innodb_page_size = 16384    //参数innodb_page_size能够安装Innodb数据页为八K,4K,暗中同意为16K。那么些参数在一开端开始化时即将加盟my.cnf里,要是已经创设了表,再修改,运维MySQL会报错。

max_allowed_packet = 32M

innodb_buffer_pool_size = 160G    //参数表示缓冲池字节大小,InnoDB缓存表和目录数据的内部存款和储蓄器区域

[mysql]
no-auto-rehash

innodb_buffer_pool_instances = 16    //私下认可值是1,表示InnoDB缓存池被剪切到三个区域。适本地增添该参数(比如将该参数值设置为贰),此时InnoDB被划分成为三个区域,能够荣升InnoDB的产出质量。若是InnoDB缓存池被细分成八个区域,建议每个地方比非常的大于一GB的半空中

# 仅仅允许使用键值的 UPDATEs 和 DELETEs .
#safe-updates

innodb_buffer_pool_load_at_startup = 1    //在运营时把热数据加载到内部存款和储蓄器

[isamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M

innodb_buffer_pool_dump_at_shutdown = 1    //在关闭时把热数据dump到地面磁盘

[myisamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M

innodb_lru_scan_depth = 4096    //调控LRU列表中可用页的数额,默许值为10二四

[mysqlhotcopy]
interactive-timeout

innodb_lock_wait_timeout = 5    //锁等待超时时间

[mysqld_safe]
# 扩展每一个进程的可打开文件数量.
# 警告: 确认你已经将全系统限制设定的拾足高!
# 张开大量表需求将此值设大
open-files-limit = 8192

innodb_io_capacity = 10000    //参数能够动态调解刷新脏页的数额,那在洗颈就戮程度上缓慢解决了那一主题材料。innodb_io_capacity参数私下认可是200,单位是页。该参数设置的轻重取决于硬盘的IOPS,即每秒的输入输出量

本身要好使用的 在 mmm 结构里面使用的 一些配置.(二主2从,每台机械是捌G内部存款和储蓄器,二个cpu的centos 7 陆11人操作系统,mysql 五.6.3一)。

innodb_io_capacity_max = 20000    //该参数限制了每秒刷新的脏页上限,调大该值能够追加Page cleaner线程每秒的职业量

假若无法健康运维 mysql 。 查看 /opt/mysql/log/mysqld.log 日志来定位错误 . 这里的 undolog 和 redolog 目录,要求手工业创设,不然mysql 不能够运行

innodb_flush_method = O_DIRECT    //参照他事他说加以考查链接:

1.mysql-master-001

innodb_file_format = Barracuda

  1. [mysqld]  

  2. ########主导设置########  

  3. datadir                                 = /opt/mysql/data  

  4. socket                                  = /opt/mysql/mysql.sock  

  5. default-storage-engine                  = Innodb  

  6. autocommit                              = on  

  7. character_set_server                    = utf8  

  8. skip_name_resolve                       = 1  

  9. max_connections                         = 800  

  10. max_connect_errors                      = 1000  

  11. transaction_isolation                   = READ-COMMITTED  

  12. explicit_defaults_for_timestamp         = 1  

  13. tmp_table_size                          = 2G  

  14. tmpdir                                  = /tmp  

  15. max_allowed_packet                      = 16M  

  16. sql_mode                                = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER"  

  17. interactive_timeout                     = 1800  

  18. wait_timeout                            = 1800  

  19. read_buffer_size                        = 1M  

  20. read_rnd_buffer_size                    = 1M  

  21. sort_buffer_size                        = 1M  

  22. join_buffer_size                        = 2M  

  23. table_open_cache                        = 2048  

  24.   

  25.   

  26.   

  27.   

  28.   

  29.   

  30. ########log settings########  

  31. log_error                               = /opt/mysql/log/error.log  

  32. slow_query_log                          = 1  

  33. slow_query_log_file                     = /opt/mysql/log/slow.log  

  34. log_queries_not_using_indexes           = 1  

  35. log_slow_admin_statements               = 1  

  36. log_slow_slave_statements               = 1  

  37. log_throttle_queries_not_using_indexes  = 10  

  38. expire_logs_days                        = 90  

  39. long_query_time                         = 2  

  40. min_examined_row_limit                  = 100  

  41.   

  42.   

  43. ########replication settings########  

  44. read_only=1  

  45. slave_skip_errors                       = ddl_exist_errors  

  46. master_info_repository                  = TABLE  

  47. relay_log_info_repository               = TABLE  

  48.   

  49.   

  50.     #以下那三个参数一定要同时在my.cnf中陈设。不然在mysql.err中会出现如下的报错  

  51. gtid_mode                               = on  

  52. log_slave_updates                       = 1                                                             #当二个主故障,另贰个及时接管  

  53. enforce_gtid_consistency                = 1  

  54.     #安装截至  

  55.   

  56.   

  57. replicate-ignore-db                     = mysql,information_schema                                      #不一齐的数据库,八个写多行  

  58. replicate-do-db                         = meerkat                                                       #共同的数据库,五个写多行  

  59. binlog-ignore-db                        = mysql,information_schema                                     #不必要记录2进制日志的数据库,多个用逗号隔离  

  60. binlog-do-db                            = meerkat                                                       #亟需记录2进制日志的数据库,两个用逗号隔断  

  61.   

  62.   

  63. innodb_flush_log_at_trx_commit          = 2                                                             #钦定了 InnoDB 在事情提交后的日记写入频率。可设置0,一,2。 0:MySQL品质最佳 . 一:最安全的安顿,但出于每一回事务都急需实行磁盘I/O,所以也最慢. 2:每趟事务提交会写入日志文件,但并不会立即刷写到磁盘,日志文件会每秒刷写三回到磁盘。  

  64. sync_binlog                             = 0                                                             #安装为一的时候,每条自动更新,安全性高.暗中认可是0  

  65.   

  66.   

  67. binlog_format                           = row   

  68.   

  69.   

  70. server-id                               = 1                                                             #server-id在每台服务器上的值都以分裂,在那边依次为1、二、三、4。  

  71. log-bin                                 = /opt/mysql/log/mysql-master-001-bin.log  

  72. log_bin_index                           = /opt/mysql/log/mysql-master-001-bin.log.index  

  73. relay_log                               = /opt/mysql/log/mysql-master-001-bin.relay  

  74. relay_log_index                         = /opt/mysql/log/mysql-master-001-bin.relay.index  

  75.   

  76.   

  77.   

  78.   

  79. relay_log_recovery                      = 1  

  80. binlog_gtid_simple_recovery             = 1  

  81. expire_logs_days                        = 10  

  82. max_binlog_size                         = 100M  

  83. binlog_cache_size                       = 16M  

  84.   

  85.   

  86. ########innodb settings########  

  87. #innodb_page_size                        = 8192  

  88. innodb_additional_mem_pool_size         = 128M  

  89. innodb_buffer_pool_size                 = 5G  

  90. innodb_buffer_pool_instances            = 5  

  91. innodb_buffer_pool_load_at_startup      = 1  

  92. innodb_buffer_pool_dump_at_shutdown     = 1  

  93. innodb_lru_scan_depth                   = 2000  

  94. innodb_lock_wait_timeout                = 5  

  95. innodb_io_capacity                      = 4000  

  96. innodb_io_capacity_max                  = 8000  

  97. innodb_flush_method                     = O_DIRECT  

  98. innodb_file_format                      = Barracuda  

  99. innodb_file_format_max                  = Barracuda  

  100. innodb_log_group_home_dir               = /opt/mysql/redolog/  

  101. innodb_undo_directory                   = /opt/mysql/undolog/  

  102. #innodb_undo_logs                        = 128  

  103. #innodb_undo_tablespaces                 = 3  

  104. innodb_flush_neighbors                  = 1  

  105. innodb_log_file_size                    = 4G  

  106. innodb_log_buffer_size                  = 16777216  

  107. innodb_purge_threads                    = 4  

  108. innodb_large_prefix                     = 1  

  109. innodb_thread_concurrency               = 64  

  110. innodb_print_all_deadlocks              = 1  

  111. innodb_strict_mode                      = 1  

  112. innodb_sort_buffer_size                 = 67108864   

  113.   

  114.   

  115. # Disabling symbolic-links is recommended to prevent assorted security risks  

  116. # symbolic-links=0  

  117.   

  118.   

  119.   

  120.   

  121. [mysqld_safe]  

  122. log-error                               = /opt/mysql/log/mysqld.log  

  123. pid-file                                = /var/run/mysqld/mysqld.pid  

  124.   

  125.   

  126. [mysql]  

  127. socket                                  = /opt/mysql/mysql.sock  

innodb_file_format_max = Barracuda    //Innodb Plugin引擎先导引进各类格式的行存款和储蓄机制,方今支撑:Antelope、Barracuda三种。个中Barracuda兼容Antelope格式。

另贰个铺排

除此以外,Innodb plugin还援救行数据压缩特性,然则前提是利用Barracuda行存储格式。

4核 16G Centos6.5 x64

表空间启用压缩的前提是innodb表空间文件存款和储蓄格式修改成:Barracuda,必要修改二个选项:

[client] port = 3306   socket = /var/lib/mysql/mysql.sock [mysql]#本条布局段设置运维MySQL服务的尺码;在这种情景下,no-auto-rehash确定保障这些服务运营得十分的快。no-auto-rehash [mysqld] user = mysql   port = 3306   socket = /var/lib/mysql/mysql.sock   basedir = /usr/local/mysql   datadir = /data/mysql/data/   open_files_limit = 10240 back_log = 600  #在MYSQL一时甘休响应新请求以前,长时间内的多少个请求能够被存在旅舍中。假使系统在长时间内有无数老是,则需要增大该参数的值,该参数值内定到来的TCP/IP连接的监听队列的轻重缓急。暗中同意值80。max_connections = 3000  #MySQL允许最大的长河连接数,假如常常出现Too Many Connections的荒谬提醒,则须要增大此值。私下认可15一max_connect_errors = 6000  #安装每一种主机的连日请求卓殊中断的最大次数,当超越该次数,MYSQL服务器将禁止host的连年请求,直到mysql服务注重启或透过flush hosts命令清空此host的连带音信。暗中同意⑩0external-locking = FALSE  #选用–skip-external-locking MySQL选项以制止外部锁定。该选项默许开启max_allowed_packet = 32M  #设置在互联网传输中三遍音信传输量的最大值。系统暗中同意值 为四MB,最大值是一GB,必须设置10二四的翻番。#sort_buffer_size = 2M  # Sort_Buffer_Size 是二个connection级参数,在各类connection(session)第3遍索要采取这几个buffer的时候,三次性分配设置的内部存款和储蓄器。#Sort_Buffer_Size 并不是越大越好,由于是connection级的参数,过大的设置 高并发或然会耗尽系统内部存款和储蓄器能源。比如:500个连续将会消耗 500*sort_buffer_size(8M)=4G内存#Sort_Buffer_Size 当先2KB的时候,就能够使用mmap() 而不是 malloc() 来进展内存分配,导致成效下降。 系统暗中同意②M,使用默许值就能够#join_buffer_size = 2M  #用于表间关联缓存的轻重,和sort_buffer_size同样,该参数对应的分配内部存款和储蓄器也是各种连接独享。系统暗许二M,使用暗许值就可以thread_cache_size = 300  #默认38# 服务器线程缓存那几个值表示能够重新利用保存在缓存中线程的数量,当断开连接时1旦缓存中还有空间,那么客户端的线程将被放置缓存中,假设线程重新被呼吁,那么请求将从缓存中读取,如若缓存中是空的恐怕是新的伸手,那么那几个线程将被再次创立,借使有好些个新的线程,扩展这么些值能够立异系统品质.通过比较Connections 和 Threads_created 状态的变量,能够看看这几个变量的效用。设置规则如下:一GB 内部存款和储蓄器配置为八,2GB配置为1六,3GB配置为32,肆GB或更加高内部存款和储蓄器,可配置越来越大。#thread_concurrency = 8  #系统默以为10,使用10先观望# 设置thread_concurrency的值的不错与否, 对mysql的属性影响非常大, 在多个cpu(或多核)的场合下,错误安装了thread_concurrency的值, 会导致mysql不可能丰裕利用多cpu(或多核), 出现同等时刻只好一个cpu(或核)在职业的景况。thread_concurrency应设为CPU核数的二倍. 比方有多个双核的CPU, 那么thread_concurrency的应当为4; 3个双核的cpu, thread_concurrency的值应为八query_cache_size = 64M  #在MyISAM引擎优化中,那一个参数也是3个主要的优化参数。但也爆揭露来一些标题。机器的内部存储器越来越大,习于旧贯性把参数分配的值更加大。那几个参数加大后也引发了1雨后冬笋主题素材。大家首先深入分析一下 query_cache_size的劳作规律:1个SELECT查询在DB中劳作后,DB会把该语句缓存下来,当一样的三个SQL再次来到DB里调用时,DB在该表没爆发变化的图景下把结果从缓存中回到给Client。这里有2个关建点,正是DB在选取Query_cache工作时,要求该语句涉及的表在最近内并未有发生改变。那若是该表在爆发改动时,Query_cache里的数额又怎么管理吧?首先要把Query_cache和该表相关的言语全体置为失效,然后在写入更新。那么只要Query_cache相当的大,该表的查询结构又相比较多,查询语句失效也慢,一个立异或是Insert就能相当的慢,那样来看的正是Update或是Insert怎么这么慢了。所以在数据库写入量或是更新量也相当大的系统,该参数不切合分配过大。而且在高并发,写入量大的系统,提出把该意义禁掉。query_cache_limit = 4M  #点名单个查询能够利用的缓冲区大小,缺省为1Mquery_cache_min_res_unit = 2k  #默许是4KB,设置值大对大数目查询有好处,但假设你的查询都以小数码查询,就便于产生内部存款和储蓄器碎片和浪费#查询缓存碎片率 = Qcache_free_blocks / Qcache_total_blocks * 100%#尽管查询缓存碎片率抢先20%,能够用FLUSH QUE安德拉Y CACHE整理缓存碎片,或然试试减小query_cache_min_res_unit,如果你的询问皆以小数据量的话。#询问缓存利用率 = (query_cache_size – Qcache_free_memory) / query_cache_size * 100%#询问缓存利用率在四分之一之下的话表明query_cache_size设置的过大,可适合的量减弱;查询缓存利用率在八成以上并且Qcache_lowmem_prunes > 50的话表明query_cache_size也是有一些小,要不正是零星太多。#查询缓存命中率 = (Qcache_hits – Qcache_inserts) / Qcache_hits * 100%#default-storage-engine = MyISAM#default_table_type = InnoDB #敞开失利#thread_stack = 192K  #设置MYSQL各样线程的仓库大小,暗中认可值充足大,可满意普通操作。可设置限定为12八K至四GB,默以为25六KB,使用暗中认可阅览transaction_isolation = READ-COMMITTED  # 设定私下认可的事务隔开等级.可用的等级如下:READ UNCOMMITTED-读未提交 READ COMMITTE-读已交付 REPEATABLE READ -可重新读 SE君越IALIZABLE -串行tmp_table_size = 256M  # tmp_table_size 的暗中认可大小是 3贰M。若是一张不时表赶上该大小,MySQL发生二个 The table tbl_name is full 格局的荒谬,借使您做过多高端 GROUP BY 查询,扩充 tmp_table_size 值。假若越过该值,则会将有时表写入磁盘。max_heap_table_size = 256M expire_logs_days = 7   key_buffer_size = 2048M  #批定用于索引的缓冲区大小,扩张它能够获得更加好的目录管理质量,对于内部存款和储蓄器在四GB左右的服务器来讲,该参数可设置为25六MB或3捌四MB。read_buffer_size = 1M  #默认128K# MySql读入缓冲区大小。对表举办依次扫描的请求将分配一个读入缓冲区,MySql会为它分配1段内部存款和储蓄器缓冲区。read_buffer_size变量支配那1缓冲区的轻重缓急。借使对表的逐条扫描请求极其频仍,并且你感到频仍扫描进行得太慢,可以通过扩充该变量值以及内部存款和储蓄器缓冲区大小升高其天性。和sort_buffer_size同样,该参数对应的分配内存也是每一个连接独享。read_rnd_buffer_size = 16M  # MySql的随便读(查询操作)缓冲区大小。当按私自顺序读取行时(举个例子,依据相排版序依次),将分配一个私行读缓存区。举办排序查询时,MySql会率先扫描一次该缓冲,以幸免磁盘寻找,升高查询速度,假如需求排序大批量数据,可适度调高该值。但MySql会为各样客户连接发放该缓冲空间,所以应尽量方便设置该值,以制止内部存款和储蓄器开支过大。bulk_insert_buffer_size = 64M  #批量插入数据缓存大小,能够使得狠抓插入功效,默以为八Mmyisam_sort_buffer_size = 128M  # MyISAM表产生变化时再次排序所需的缓冲 暗许八Mmyisam_max_sort_file_size = 10G  # MySQL重建索引时所允许的最大临时文件的大小 (当 REPAI兰德纳瓦拉, ALTEXC90 TABLE 可能LOAD DATA INFILE).# 如若文件大小比此值越来越大,索引会通过键值缓冲创立(越来越慢)#myisam_max_extra_sort_file_size = 拾G 5.陆无此值设置#myisam_repair_threads = 1   默认为1# 就算三个表具备当先1个目录, MyISAM 能够透过相互排序使用超过贰个线程去修复他们.# 那对于有所三个CPU以及大气内部存款和储蓄器处境的用户,是三个很好的采取.myisam_recover  #电动检查和修补没有确切关闭的 MyISAM 表skip-name-resolve   lower_case_table_names = 1   server-id = 1 innodb_additional_mem_pool_size = 16M  #本条参数用来设置 InnoDB 存款和储蓄的数目目录音讯和任何内部数据结构的内部存款和储蓄器池大小,类似于Oracle的library cache。那不是一个威迫参数,能够被突破。innodb_buffer_pool_size = 2048M  # 那对Innodb表来讲非常关键。Innodb相比较MyISAM表对缓冲更为灵活。MyISAM可以在私下认可的 key_buffer_size 设置下运作的可以,然则Innodb在暗中同意的 innodb_buffer_pool_size 设置下却跟蜗牛似的。由于Innodb把数量和目录都缓存起来,没有须要留下操作系统太多的内部存款和储蓄器,由此只要只须要用Innodb的话则足以设置它高达 70-十分八 的可用内部存款和储蓄器。一些施用于 key_buffer 的平整有 — 假设你的数据量十分的小,并且不会暴增,那么不必要把 innodb_buffer_pool_size 设置的太大了#innodb_data_file_path = ibdata一:10贰四M:autoextend 设置过大导致报错,暗许1贰M观看比赛#表空间文件 重要数据#innodb_file_io_threads = 四   不明明,使用暗许值#文件IO的线程数,一般为 4,但是在 Windows 下,能够设置得非常的大。innodb_thread_concurrency = 8  #服务器有多少个CPU就安装为几,提出用暗中认可设置,一般为八.innodb_flush_log_at_trx_commit = 2  # 如果将此参数设置为壹,就要历次提交业务后将日志写入磁盘。为提供品质,能够安装为0或二,但要承担在发出故障时丢失数据的高危机。设置为0表示事情日志写入日志文件,而日志文件每秒刷新到磁盘三遍。设置为二代表事情日志就要付出时写入日志,但日志文件每一遍刷新到磁盘二次。#innodb_log_buffer_size = 1陆M   使用暗中同意八M#此参数明确些日志文件所用的内部存款和储蓄器大小,以M为单位。缓冲区越来越大能增进品质,但离奇的故障将会丢掉数据.MySQL开荒职员建议设置为壹-八M里边#innodb_log_file_size = 128M  使用暗中同意4八M#此参数鲜明数据日志文件的大大小小,以M为单位,更加大的设置能够抓实质量,但也会扩张苏醒故障数据库所需的小时#innodb_log_files_in_group = 叁   使用私下认可贰#为进步质量,MySQL能够以巡回格局将日志文件写到四个文本。推荐设置为三M#innodb_max_dirty_pages_pct = 90  使用默许75考察#推荐阅读 Buffer_Pool中Dirty_Page所占的多少,直接影响InnoDB的闭馆时间。参数innodb_max_dirty_pages_pct 能够直接决定了Dirty_Page在Buffer_Pool中所占的比率,而且幸运的是innodb_max_dirty_pages_pct是足以动态改造的。所以,在闭馆InnoDB在此之前先将innodb_max_dirty_pages_pct调小,强制数据块Flush一段时间,则能够大大收缩MySQL关闭的光阴。innodb_lock_wait_timeout = 120  #默认为50秒 # InnoDB 有其置于的死锁检验机制,能招致未产生的作业回滚。不过,假若结合InnoDB使用MyISAM的lock tables 语句或第2方职业引擎,则InnoDB不大概识别死锁。为铲除这种恐怕性,能够将innodb_lock_wait_timeout设置为1个整数值,指示MySQL在同意任何作业修改那多少个最后受职业回滚的数额从前要等待多长时间(秒数)innodb_file_per_table = 0  #默认为No#独享表空间(关闭)[mysqldump] quick  # max_allowed_packet = 32M[mysqld_safe] log-error=/data/mysql/mysql_oldboy.err   pid-file=/data/mysql/mysqld.pid sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

innodb_file_format = "Barracuda"

innodb_file_format_max = "Barracuda"

innodb_undo_logs = 128    //定义在2个业务中innodb使用的系统表空间中回滚段的个数。如若观看到同回滚日志有关的排斥争用,能够调动这一个参数以优化质量。前期版本的命名称为 innodb_rollback_segments,该变量能够动态调度,不过物理上的回滚段不会回落,只是会调控用到的回滚段的个数;默认为13十一个回滚段

innodb_undo_tablespaces = 3    //用于设定创制的undo表空间的个数,在mysql_install_db时开头化后,就再也无法被改成了;默许值为0,表示不独立设置undo的tablespace,暗中认可记录到ibdata中;不然,则在undo目录下成立那样多少个undo文件,举例假定设置该值为四,那么就能够创立命名称叫undo00一~undo00肆的undo tablespace文件,每一个文件的暗中同意大小为十M。修改该值会导致Innodb无法实现早先化,数据库不能运转,可是另四个参数能够修改

innodb_flush_neighbors = 0    //暗许值为 一. 在SSD存款和储蓄上应设置为0(禁止使用) ,因为运用各样IO没有其他性质受益. 在运用RAID的少数硬件上也应当剥夺此设置,因为逻辑上连年的块在物理磁盘上并不能够担保也是连续的

innodb_log_file_size = 200M    //日志组的轻重,默感觉五M;如果对 Innodb 数据表有恢宏的写入操作,那么选取适合的 innodb_log_file_size值对进步MySQL质量很重大。但是设置太大了,就能够增添苏醒的年月,由此在MySQL崩溃可能突然断电等情形会令MySQL服务器花不长日子来苏醒

innodb_log_files_in_group = 2    //日志组的数量,默感到贰

innodb_log_buffer_size = 16M    //日志缓冲池的尺寸

innodb_purge_threads = 4    //在innodb 一.贰版本起先innodb扶助八个purge thread 那样做的目标是为了进一步加速undo页的回收那样也能越来越利用磁盘的随机读取性能用户能够设置陆个purge thread

innodb_large_prefix = 1    //大家应该知道InnoDB单列索引长度无法抢先7陆7bytes,联合索引还有八个限量是长度不能够超过3072。innodb_large_prefix 这几个参数暗许值是OFF,当改为ON时,允许列索引最大约达307二

innodb_thread_concurrency = 64    //参考:

innodb_print_all_deadlocks = 1    //这样死锁相关消息会保留到MySQL 错误日志中

innodb_strict_mode = 1    //开启强制检查格局,忽略警告新闻,直接抛出错误音讯

innodb_sort_buffer_size = 67108864    //加速ORDER BY 或者GROUP BY 操作

innodb_write_io_threads = 16

innodb_read_io_threads = 16    //如果CPU是贰颗捌核的,那么能够安装:innodb_read_io_threads = 8,innodb_write_io_threads = 8。如果数据库的读操作比写操作多,那么能够设置:innodb_read_io_threads = 10,innodb_write_io_threads = 6

innodb_file_per_table = 1    //独立表空间情势,每一种数据库的种种表都会变卦三个数额空间

innodb_stats_persistent_sample_pages = 64    //调整收集总计新闻时采集样品的page数量,暗许是20。搜罗的page数量更多,每回采访总结消息的实际则越长,但是总括新闻也针锋相对相比较规范

innodb_autoinc_lock_mode = 2    //参考:

innodb_online_alter_log_max_size = 1G    //参考:

innodb_open_files = 4096    //成效:限制Innodb能开垦的表的多寡。

分配原则:那些值私下认可是300。假设Curry的表特别多的情景,能够适合增大为一千。innodb_open_files的高低对InnoDB效能的震慑非常小。可是在InnoDBcrash的图景下,innodb_open_files设置过小会影响recovery的频率。所以用InnoDB的时候如故把innodb_open_files放大学一年级些相比较适合。

innodb_flush_log_at_trx_commit = 1    //如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒2四处写入log file中,并且log file的flush(刷到磁盘)操作同时开始展览.该形式下,在作业提交的时候,不会再接再砺触发写入磁盘的操作。

如果innodb_flush_log_at_trx_commit设置为一,每一遍事务提交时MySQL都会把log buffer的数额写入log file,并且flush(刷到磁盘)中去.

如果innodb_flush_log_at_trx_commit设置为贰,每回事务提交时MySQL都会把log buffer的数目写入log file.但是flush(刷到磁盘)操作并不会同时张开。该方式下,MySQL会每秒施行一回flush(刷到磁盘)操作

innodb_support_xa = 1    //作用是分两类:第三,援救多实例布满式事务(外部xa事务),那些貌似在遍及式数据库条件中用得较多。第三,帮助内部xa事务,说白了也正是说援救binlog与innodb redo log之间数据1致性

# replication settings #

master_info_repository = TABLE

relay_log_info_repository = TABLE    //在MySQL 5.陆.二在此以前,slave记录的master新闻以及slave应用binlog的信息寄存在文件中,即master.info与relay-log.info。在五.陆.二本子之后,允许记录到table中,参数设置如下:master-info-repository  = TABLE,relay-log-info-repository = TABLE,对应的表分别为mysql.slave_master_info与mysql.slave_relay_log_info,且那四个表均为innodb引擎表。

sync_binlog = 1    //是MySQL 的2进制日志(binary log)同步到磁盘的频率。取值:0-N,sync_binlog=0,当事情提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的消息到磁盘,而让Filesystem自行决定哪一天来做1道,恐怕cache满了随后才联合到磁盘。这些是性质最佳的。sync_binlog=一,当每举办1回事情提交现在,MySQL将张开一回fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。sync_binlog=n,当每实行n次事务提交之后,MySQL将开始展览3遍fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

gtid_mode = on    //是不是开启GTID功效

enforce_gtid_consistency = 1    //enforce_gtid_consistency 强制GTID一致性, 启用后,create table ... select ...命令无法再使用

log_slave_updates

binlog_format = ROW

binlog_rows_query_log_events = 1    //只成效于RBBMWX伍格式,默许不启用 要是启用,会把用户写直的原生态DML操作记录到binlog中

relay_log = relay.log

relay_log_purge = 1

relay_log_recovery = 1    //当slave从库宕机后,假诺relay-log损坏了,导致一些连接日志未有拍卖,则自动扬弃具有未实施的relay-log,并且重新从master上收获日志,那样就保障了relay-log的完整性。暗中认可情状下该意义是关闭的,将relay_log_recovery的值设置为 1时,可在slave从库上开启该意义,建议拉开

report-port = 3306

report-host = 10.106.144.11

slave_skip_errors = ddl_exist_errors

slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'    //可以部分化解无主键表导致的复制延迟问题

# semi sync replication settings #

plugin_load = "validate_password.so;rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"

rpl_semi_sync_master_enabled = 1    //调控在主库是不是打开了异步复制格局,能够设置为ON,OFF ,暗中同意是off 

rpl_semi_sync_master_timeout = 3000    //调整主库等待备库反馈已交由业务在备库落地的时刻,以纳秒为单位默许是拾s 

rpl_semi_sync_slave_enabled = 1    //调控在从库是还是不是开启了异步复制情势,能够安装为ON,OFF ,默许是off

# password plugin #

validate_password_policy=STRONG    //密码安全计谋LOW, MEDIUM,STRONG ,在那之中LOW表示仅限制长度;MEDIUM 则为长度,字符,数字,大小写,特殊字符;STRONG则在前头的根基上平添字典目录

validate-password=FORCE_PLUS_PERMANENT    //该参数是为了防备插件在mysql运营时的时候被卸载

# perforamnce_schema settings

performance-schema-instrument='memory/%=COUNTED'

performance_schema_digests_size = 40000

performance_schema_max_table_instances = 40000

performance_schema_max_sql_text_length = 4096

performance_schema_max_digest_length = 4096

[mysqld-5.6]

# metalock performance settings

metadata_locks_hash_instances = 64    //简单来说 MDL Lock 是 MySQL Server 层中的表锁,首尽管为着控制 Server 层 DDL & DML 的面世而设计的, 然则 伍.5 的宏图中唯有一把大锁,所以到5.6中增加了参数 metadata_locks_hash_instances 来支配分区的多寡,进而达成大锁的拆分,即使锁的拆分提升了产出的属性,不过照旧存在着众多的质量难点,所以在 五.7.四 中 MDL Lock 的落到实处形式采用了 lock free 算法,通透到底的减轻了 Server 层表锁的习性难题,而参数 metadata_locks_hash_instances 也将会在未来的某些版本中被剔除掉

[mysqld-5.7]

# new innodb settings #

loose_innodb_numa_interleave = 1    //缓冲池内部存款和储蓄器的分配政策采用interleave的不二秘籍

innodb_buffer_pool_dump_pct = 40    //默以为关闭OFF。假诺打开该参数,结束MySQL服务时,InnoDB将InnoDB缓冲池中的热数据的比重保存到地头硬盘,5.7.陆原先是⑩0,五.七.7起来是25,也便是保留缓存中的四分一热数据

innodb_page_cleaners = 16    //为了进步扩大性和刷脏成效,在5.七.4本子里引进了多少个page cleaner线程。从而完成并行刷脏的功效。在该版本中,Page cleaner并未有和buffer pool绑定,其模型为1个谐和线程 八个办事线程,和睦线程本人也是职业线程。由此借使innodb_page_cleaners安装为八,那么正是二个调匀线程,加7个办事线程

innodb_undo_log_truncate = 1    //设置为ON就能够开启undo表空间的活动truncate

innodb_max_undo_log_size = 2G    //undo表空间文件超越此值即标志为可收缩,暗许壹G,可在线修改

innodb_purge_rseg_truncate_frequency = 128    //钦命purge操作被唤起多少次今后才获释rollback segments。当undo表空间里面包车型大巴rollback segments被假释时,undo表空间才会被truncate。不言而喻,该参数越小,undo表空间被尝试truncate的效用越高。

# new replication settings #

slave-parallel-type = LOGICAL_CLOCK    //能够有多少个值:DATABASE 暗许值,基于库的并行复制情势;LOGICAL_CLOCK:基于组提交的并行复制格局

slave-parallel-workers = 16    //在MySQL 五.七中,引进了基于组提交的并行复制(Enhanced Multi-threaded Slaves),设置参数slave_parallel_workers>0并且slave_parallel_type=‘LOGICAL_CLOCK’,就能够援助3个schema下,slave_parallel_workers个的worker线程并发施行relay log中主库提交的事体。其核激情想:二个组提交的政工都以足以互相回看(同盟binary log group commit)

slave_preserve_commit_order = 1    //mysql 5.7后的MTS能够落成越来越小粒度的并行复制,但要求将slave_parallel_type设置为LOGICAL_CLOCK,但可是设置为LOGICAL_CLOCK也会存在难点,因为此时在slave上行使职业的一一是冬季的,和relay log中著录的政工逐项不平等,那样数据一致性是力不从心担保的,为了确定保障职业是鲁人持竿relay log中记录的依次来重放,就须求敞开参数slave_preserve_commit_order

slave_transaction_retries = 128    //假设SQL线程在实行事务时产生InnoDB死锁且等待超时后,slave重试的次数,暗许为10,若是超越本次数,slave将会抛出error且终止replication;此值在“slave_parallel_workers”开启时不济,即为0,不重试。

# other change settings #

binlog_gtid_simple_recovery = 1    //MySQL5.7.7自此暗中认可on,那几个参数调控了当mysql运行或重启时,mysql在探究GTIDs时是什么样迭代使用binlog文件。该参数为真时,mysql-server只需展开最老的和新颖的这3个binlog文件,gtid_purged参数的值和gtid_executed参数的值能够依据那一个文件中的Previous_gtids_log_event或者Gtid_log_event总括得出。那确认保证了当mysql-server重启或清理binlog时,只需张开1个binlog文件。当以此参数设置为off,在mysql复苏时期,为了开始化gtid_executed,全部以新颖文件开端的binlog都要被检查。并且为了开头化gtid_purged,全数的binlog都要被检查。那大概要求至极长的大运,建议拉开。注意:MySQL五.6中,默以为off,调治那个选项设置也同样会升高质量,可是在有个别新鲜情状下,总括gtids值大概会出错。而保持那几个选项值为off,能保险总计总是不错

log_timestamps = system    //该参数首要是调整 error log、genera log,等等记录日志的展现时间参数。在 5.柒.2 之后改参数为暗中认可 UTC 这样会招致日志中著录的岁月比中国这边的慢,导致查看日志不便于。修改为 SYSTEM 就能够缓和难题

show_compatibility_56 = on    //版本高的mysql中show_compatibility_56的默许值为OFF,不让用户访问GLOBAL_STATUS或者GLOBAL_VARIABLES等

# group replication settings

plugin-load = "group_replication.so;validate_password.so;semisync_master.so;semisync_slave.so"

transaction-write-set-extraction = XXHASH64    //server为种种业务收罗write set并用XXHASH6四哈唏算法编码这几个set

# report_host = 127.0.0.1 # optional for group replication

# binlog_checksum = NONE # only for group replication

loose_group_replication = FORCE_PLUS_PERMANENT

loose_group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"    //表示plugin连接、创建的group的名称

loose_group_replication_compression_threshold = 100    //将其安装为拾0意味对发送的互连网消息(writeset)大于十0字节的开始展览压缩,从而进步质量

loose_group_replication_flow_control_mode = 0

loose_group_replication_single_primary_mode = 0    //表示运转了Single-Primary情势,那么修改为OFF就代表要运维Multi-Primary情势

loose_group_replication_enforce_update_everywhere_checks = 1    //该参数设置为ON,则禁止使用了在多主情势下局地大概爆发未明确的数据争论的操作

loose_group_replication_transaction_size_limit = 10485760

loose_group_replication_unreachable_majority_timeout = 120

loose_group_replication_start_on_boot = 0    //是不是随着服务运行集群

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:几份常见的mysql生产布局文件记录,配置文件中文