xml地图|网站地图|网站标签 [设为首页] [加入收藏]
当前位置: www8029com > 澳门新葡8522最新网站 > 正文

MySQL最优配置模板

时间:2019-08-26 17:36来源:澳门新葡8522最新网站
my3306.cnf I assume the MySQL Server as followings. You should tune the variablesaccording to your server. [client] port = 3306   #端口 socket = /data/mysql3306/mysql3306.sock  #mysql以socket情势运营的sock文件地方 32 CPU cor

my3306.cnf

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

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

32 CPU core

[mysql]
auto-rehash      #机关补全

256G Memory

[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

[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   #设置目录

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  # 假如一行数据中有些列被更新了,尽管这一行中有timestamp类型的列,这一个列的多寡也会自动更新到不行时间点,设置为1关门自动更新时间点

[mysql]

# 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.info2个文件,设成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

 

user = root

####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

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

port = 3306

 

socket = /tmp/mysqld.sock

###MyISAM###
#key_buffer_size=64M   #目录缓存大小
#key_cache_block_size=4k   内定每一种索引缓存的区块大小
#myisam_sort_buffer_size=2M 

prompt="u@h d>"

########innodb settings########
#innodb_page_size = 4k  #innodb各种数据页大小
innodb_buffer_pool_size = 4G  #缓存innodb表的目录,数据,插入数据时的缓冲,专项使用mysql服务器设置的高低: 操作系统内部存款和储蓄器的八成-五分四最好
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线程每回刷脏页的数量, 那是一个每1秒 loop一遍的线程
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 也许会产生质量裁减

#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存款和储蓄引擎在刷新贰个脏页时,会检查测验该页所在区(extent)的具有页,固然是脏页,那么共同刷新。那样做的益处是通过AIO能够将三个IO写操作合併为三个IO操作。对于价值观机械硬盘建议选用,而对于机械硬盘能够关闭。
innodb_log_file_size = 1G  #概念了日志文件的轻重缓急,innodb日志文件的机能是用来保存redo日志
innodb_log_buffer_size = 8M  #业务在内部存款和储蓄器中的缓冲。 分配原 则:调整在2-8M.这么些值不用太多的。他里面包车型客车内部存款和储蓄器一般一分钟写到磁盘三回
innodb_purge_threads = 4   #垄断(monopoly)是还是不是采取,使用多少个独立purge线程(清除二进制日志)
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  #O奥迪Q5DE奥迪Q7 BY 只怕GROUP BY 操作的buffer缓存大小

[mysqld]

######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  #当高出那几个阀值(暗许是1G),会触发truncate回收(裁减)动作,truncate后空中压缩到10M
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   #5.7.2 之后改参数为默许 UTC 那样会产生日志中记录的时光比中中原人民共和国这边的慢,导致查看日志不低价。修改为 SYSTEM 就可以消除难点
#transaction_write_set_extraction=MURMUR32  #用以定义八个记录事务的算法,这些算法使用hash标记来记录事务。假如应用MGCRUISER,那么那一个hash值供给用于布满式龃龉检查评定何管理#,在62位的种类,官方网站提议安装该参数使用 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 #

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

user = mysql

#skip-grant-tables   #跳过权力

bind-address = 0.0.0.0

socket = /tmp/mysqld.sock

character_set_server = utf8mb4

transaction_isolation = READ-COMMITTED

explicit_defaults_for_timestamp = 1

max_allowed_packet = 67108864    //限制Server接受的数码包大小。临时候大的插入和翻新会受此参数限制,导致大额写入或然更新退步

max_long_data_size = 67108864    //设定能够由mysql_stmt_send_long_data()那个C API函数所传递的参数值的最大尺寸,若无在mysqld运维时设定,其默感到max_allowed_packet变量的值

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

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

autocommit = 1

server-id = 1

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

# connection #

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

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

lock_wait_timeout = 1800

skip_name_resolve = 1

max_connections = 1024    //针对富有客户连接限制

max_user_connections = 256    //针对同一客商的总是限制

max_connect_errors = 1000000    //当错误连接数超越设定的值后,将无法寻常连接

# table cache performance settings #

table_open_cache = 4096    //钦点表高速缓存的高低。每当MySQL访谈多个表时,即使在表缓冲区中还会有空间,该表就被张开并归入个中,那样能够越来越快地拜访表内容

table_definition_cache = 4096    //表定义音信缓存

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

# session memory settings #

read_buffer_size = 16M    //MySQL读入缓冲区的深浅,将对表举办逐项扫描的哀告将分配一个读入缓冲区,MySQL会为它分配一段内部存款和储蓄器缓冲区,read_buffer_size变量支配这一缓冲区的分寸,假使对表的次第扫描特别频仍,并你感到频仍扫描进行的太慢,能够由此扩大该变量值以及内部存款和储蓄器缓冲区大小升高其性质,read_buffer_size变量支配这一进步表的逐一扫描的效用数据文件顺序

read_rnd_buffer_size = 32M    //

sort_buffer_size = 32M    //是MySQL的即兴读缓冲区大小,当按私自顺序读取行时(列如依据相排版序依次)将分配一个任意读取缓冲区,实行排序查询时,MySQL会首先扫描二遍该缓冲,以幸免磁盘寻找,进步查询速度,假诺须要多量多少可正好的调解该值,但MySQL会为每一种顾客连接分配该缓冲区所以尽量方便设置该值,以防内部存款和储蓄器费用过大。表的肆意的一一缓冲 提升读取的频率

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).

您能够比较之中基于磁盘的一时表的总额和创立在内部存款和储蓄器中的有的时候表的总和(Created_tmp_disk_tables和Created_tmp_tables),一般的百分比关系是:

Created_tmp_disk_tables/Created_tmp_tables<5%。max_heap_table_size本条变量定义了客户能够创立的内部存款和储蓄器表(memory table)的大小.那几个值用来计量内部存款和储蓄器表的最大行数值。那个变量辅助动态更动,即set @max_heap_table_size=#

,可是对于已经存在的内部存款和储蓄器表就不曾什么用了,除非这一个表被再次创立(create table)大概修改(alter table)只怕truncate table。服务重启也会设置已经存在的内部存款和储蓄器表为全局max_heap_table_size的值。

这么些变量和tmp_table_size一齐限制了里面内部存款和储蓄器表的轻重缓急。

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

thread_cache_size = 64    //服务器线程缓存那个值表示能够另行行使保存在缓存中线程的数量,当断开连接时假若缓存中还应该有空间,那么客商端的线程将被放置缓存中,假设线程重新被呼吁,那么乞求将从缓存中读取,要是缓存中是空的依然是新的央求,那么这么些线程将被重新创制,假设有大多新的线程,扩展那一个值能够立异系统质量.通过比较Connections 和 Threads_created 状态的变量,能够看来那么些变量的功能.

# log settings #

log_error = error.log

log-bin = mysql-bin

slow_query_log = 1

slow_query_log_file = slow.log

log_queries_not_using_indexes = 1

log_slow_admin_statements = 1    //记录试行缓慢的军管SQL

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

log_throttle_queries_not_using_indexes = 10    //每秒钟允许记录到slow log的且未利用索引的SQL语句次数

expire_logs_days = 30

long_query_time = 2

min_examined_row_limit = 100    //查询语句的实践行数检查重临少于该参数钦点行的SQL不被记录到慢查询日志

binlog-rows-query-log-events = 1    //当binlog_fromat=row的时候记录的是event,若是想要在row格局的图景下也记录SQL语句

log-bin-trust-function-creators = 1    //此参数仅在启用二进制日志时有效,用于调节创立存款和储蓄函数时只要会变成不安全的平地风波记录二进制日志条件下是或不是禁止创设存款和储蓄函数。私下认可值为0,表示除非客户除了CREATE ROUTING或ALTEPAJEROROUTINE权限外还会有SUPE陆风X8权限,不然将禁止创立或修改存款和储蓄函数,同不时候,还必要在开创函数时必得为之使用DETERMINISTIC属性,再不然就是附带READS SQL DATA或NO SQL属性。设置其值为1时则不启用那些限制。成效范围为全局等级,可用来配置文件,属动态变量。

log-slave-updates = 1    //一般景观下slave不会把从master接收到的binlog记录写入本身的binlog,那么些参数会使slave通过SQL线程把从master接受到的binlog写进本人的binlog,不过前提是slave一定要展开友好的binlog,此参数一般用于级联复制,比如须求A复制到B,B复制到C,那么B就要翻开此参数。

# innodb settings #

innodb_page_size = 16384    //参数innodb_page_size能够安装Innodb数据页为8K,4K,暗中同意为16K。那么些参数在一发端开端化时就要加盟my.cnf里,假诺已经创办了表,再修改,运营MySQL会报错。

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

innodb_buffer_pool_instances = 16    //私下认可值是1,表示InnoDB缓存池被剪切到贰个区域。适本地增添该参数(举个例子将该参数值设置为2),此时InnoDB被划分成为五个区域,能够升官InnoDB的出现质量。假诺InnoDB缓存池被分割成多少个区域,建议每个地区不低于1GB的长空

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

innodb_buffer_pool_dump_at_shutdown = 1    //在关门时把热数据dump到本地球磁性盘

innodb_lru_scan_depth = 4096    //调控LRU列表中可用页的数码,默许值为1024

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

innodb_io_capacity = 10000    //参数能够动态调治刷新脏页的数量,那在肯定程度上缓慢解决了这一难题。innodb_io_capacity参数暗中认可是200,单位是页。该参数设置的分寸取决于硬盘的IOPS,即每秒的输入输出量

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

innodb_flush_method = O_DIRECT    //参谋链接:

innodb_file_format = Barracuda

innodb_file_format_max = Barracuda    //Innodb Plugin引擎发轫引进多样格式的行存款和储蓄机制,近来支撑:Antelope、Barracuda三种。当中Barracuda包容Antelope格式。

除此以外,Innodb plugin还协助行数据压缩本性,但是前提是选用Barracuda行存款和储蓄格式。

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

innodb_file_format = "Barracuda"

innodb_file_format_max = "Barracuda"

innodb_undo_logs = 128    //定义在三个政工中innodb使用的系统表空间中回滚段的个数。假诺观看到同回滚日志有关的排斥争用,能够调动这些参数以优化质量。开始的一段时代版本的命名字为 innodb_rollback_segments,该变量能够动态调解,但是物理上的回滚段不会削减,只是会调整用到的回滚段的个数;暗许为1三十多个回滚段

innodb_undo_tablespaces = 3    //用于设定成立的undo表空间的个数,在mysql_install_db时早先化后,就再也无法被改换了;暗许值为0,表示不独立设置undo的tablespace,暗许记录到ibdata中;不然,则在undo目录下创制那样四个undo文件,譬喻假定设置该值为4,那么就能创建命名字为undo001~undo004的undo tablespace文件,各类文件的暗许大小为10M。修改该值会促成Innodb不恐怕实现起初化,数据库不大概运行,可是另多个参数能够修改

innodb_flush_neighbors = 0    //暗中认可值为 1. 在SSD存款和储蓄上应设置为0(禁止使用) ,因为使用各样IO未有别的性质收益. 在采用RAID的有个别硬件上也理应剥夺此设置,因为逻辑上三翻五次的块在物理磁盘上并不能够确认保证也是三番三回的

innodb_log_file_size = 200M    //日志组的尺寸,默以为5M;若是对 Innodb 数据表有雅量的写入操作,那么采取十一分的 innodb_log_file_size值对进级MySQL质量很关键。不过设置太大了,就能够增加恢复生机的小时,因而在MySQL崩溃也许蓦然断电等处境会令MySQL服务器花不短日子来回复

innodb_log_files_in_group = 2    //日志组的多少,暗中同意为2

innodb_log_buffer_size = 16M    //日志缓冲池的大大小小

innodb_purge_threads = 4    //在innodb 1.2版本初步innodb协理三个purge thread 这样做的指标是为着尤其加速undo页的回收那样也能进一步利用磁盘的任性读取品质客户能够设置4个purge thread

innodb_large_prefix = 1    //大家应该领悟InnoDB单列索引长度不能够超过767bytes,联合索引还恐怕有三个限制是长度不可能超过3072。innodb_large_prefix 这么些参数私下认可值是OFF,当改为ON时,允许列索引最大达到3072

innodb_thread_concurrency = 64    //参考:

innodb_print_all_deadlocks = 1    //那样死锁相关新闻会保留到MySQL 错误日志中

innodb_strict_mode = 1    //开启强制检查方式,忽略警告音信,直接抛出错误音信

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

澳门新葡8522最新网站,innodb_write_io_threads = 16

innodb_read_io_threads = 16    //假设CPU是2颗8核的,那么能够设置: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将每秒一随地写入log file中,况且log file的flush(刷到磁盘)操作同一时候进行.该形式下,在作业提交的时候,不会再接再砺触发写入磁盘的操作。

如果innodb_flush_log_at_trx_commit设置为1,每趟事务提交时MySQL都会把log buffer的多少写入log file,而且flush(刷到磁盘)中去.

如果innodb_flush_log_at_trx_commit设置为2,每回事务提交时MySQL都会把log buffer的数额写入log file.可是flush(刷到磁盘)操作并不会同偶然候开展。该情势下,MySQL会每秒试行二回flush(刷到磁盘)操作

innodb_support_xa = 1    //功用是分两类:第一,帮助多实例遍布式事务(外界xa事务),那几个一般在遍及式数据库境况中用得比较多。第二,协理内部xa事务,说白了也便是说扶助binlog与innodb redo log之间数据一致性

# replication settings #

master_info_repository = TABLE

relay_log_info_repository = TABLE    //在MySQL 5.6.2事先,slave记录的master新闻以及slave应用binlog的新闻存放在文书中,即master.info与relay-log.info。在5.6.2版本之后,允许记录到table中,参数设置如下:master-info-repository  = TABLE,relay-log-info-repository = TABLE,对应的表分别为mysql.slave_master_info与mysql.slave_relay_log_info,且那多个表均为innodb引擎表。

sync_binlog = 1    //是MySQL 的二进制日志(binary log)同步到磁盘的效用。取值:0-N,sync_binlog=0,当工作提交以往,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的音信到磁盘,而让Filesystem自行决定几时来做联合,或然cache满了随后才联合到磁盘。那几个是性质最棒的。sync_binlog=1,当每举行1次职业提交未来,MySQL将进行一回fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。sync_binlog=n,当每进行n次事务提交之后,MySQL将扩充一回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    //只功能于RBR格式,暗中同意不启用 假如启用,会把顾客写直的原生态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    //调整主库等待备库反馈已交付业务在备库落地的小时,以飞秒为单位私下认可是10s 

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 的设计中独有一把大锁,所以到5.6中增添了参数 metadata_locks_hash_instances 来支配分区的数额,进而达成大锁的拆分,即便锁的拆分提升了出现的质量,不过依然存在着比相当多的性批评题,所以在 5.7.4 中 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.6以前是100,5.7.7开头是25,也正是保留缓存中的三成热数据

innodb_page_cleaners = 16    //为了进步增添性和刷脏功用,在5.7.4本子里引进了五个page cleaner线程。进而完结并行刷脏的功用。在该版本中,Page cleaner并未有和buffer pool绑定,其模型为三个和谐线程 多个工作线程,和煦线程自己也是职业线程。因而一旦innodb_page_cleaners安装为8,那么正是二个调弄整理线程,加7个职业线程

innodb_undo_log_truncate = 1    //设置为ON即可开启undo表空间的活动truncate

innodb_max_undo_log_size = 2G    //undo表空间文件超越此值即标识为可缩小,私下认可1G,可在线修改

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 5.7中,引进了基于组提交的并行复制(Enhanced Multi-threaded Slaves),设置参数slave_parallel_workers>0并且slave_parallel_type=‘LOGICAL_CLOCK’,就能够扶助二个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只需展开最老的和新星的那2个binlog文件,gtid_purged参数的值和gtid_executed参数的值能够依据那些文件中的Previous_gtids_log_event或者Gtid_log_event计算得出。那确定保证了当mysql-server重启或清理binlog时,只需展开2个binlog文件。当这些参数设置为off,在mysql复苏时期,为了开始化gtid_executed,全部以最新文件最初的binlog都要被检查。况兼为了初叶化gtid_purged,全数的binlog都要被检查。那只怕须要丰硕长的时间,建议拉开。注意:MySQL5.6中,默以为off,调节那几个选项设置也一致会晋级品质,不过在一些非正规现象下,计算gtids值大概会出错。而保持那么些选项值为off,能确定保障计算总是不错

log_timestamps = system    //该参数主纵然调控 error log、genera log,等等记录日志的展现时间参数。在 5.7.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并用XXHASH64哈唏算法编码这一个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    //将其设置为100意味对发送的网络新闻(writeset)大于100字节的进展削减,进而升级品质

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    //是还是不是随着服务运转集群

编辑:澳门新葡8522最新网站 本文来源:MySQL最优配置模板

关键词: www8029com