![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL参数学习
遇星
我想成为我自己
展开
-
MySQL binlog_transaction_dependency_tracking=commit_order和slave_preserve_commit_order的区别
binlog_transaction_dependency_tracking是设在主库,可以取commit_order,writeset,writeset_session,主要是控制binlog文件中last_committed的计算方式:commit_order即group commit,同在prepare阶段的事务,在binlog中last_committed数值一样,传到从库之后可以并行执...原创 2019-11-12 15:08:27 · 5512 阅读 · 4 评论 -
MySQL slave相关参数
init_slave设定每次SQL thread启动时执行的语句。log_slave_updates是否将复制线程执行的内容记录到binlog。log_slow_slave_statements如果从库开启慢日志,是否将复制线程执行的慢SQL记录到慢日志。注意如果master的binlog格式是row,则无论log_slow_slave_statements是否开启都不会记录复制相关的慢...原创 2019-10-18 15:31:45 · 1959 阅读 · 0 评论 -
MySQL error log记录了太多繁杂无用的信息怎么办?
在某个生产实例上发现error log记录了大量的NOTE级别的连接信息,基本上是没有意义的日志信息,而且不断地占用磁盘空间。这种情况可以设置一下日志级别。在5.7.2以上,日志级别可以通过设置log_error_verbosity,可以取值1,2,3,可以在线调整。1,只记录ERROR级别的日志2,记录ERROR和warining信息3,记录ERROR和warning和一般的信息如NOT...原创 2019-10-18 12:16:03 · 628 阅读 · 0 评论 -
MySQL 遇到Your password does not satisfy the current policy requirements?了解一下密码校验插件
最近在工作中遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements报错,创建用户时使用同样的密码,在某些实例可行,某些实例会报错。研究一番,原来跟MySQL的密码校验插件有关。如果实例启动时在cnf文件指定参数plugin-load-add=validate_password.so,...原创 2019-10-18 11:36:37 · 517 阅读 · 0 评论 -
MySQL cache类参数
have_query_cacheYES表示支持查询缓存,NO表示不支持。MySQL5.7.20开始废弃查询缓存功能,have_query_cache也伴随着废弃了。host_cache_sizehost缓存大小。MySQL会缓存IP和host的对应信息,以免重复解析。设为0表示禁用host缓存。innodb_disable_sort_file_cache如果开启,则MySQL不适用操作系...原创 2019-10-17 17:18:11 · 1672 阅读 · 0 评论 -
MySQL 真假read_only
在主从复制中,为了保护从库不被写入,往往会在从库设置set global read_only=on;当打开read_only以后,MySQL不允许客户端用户修改任何数据,但除了拥有super权限的用户。而需要限制拥有super权限用户写入数据,则需要设置set global super_read_only=on。当打开super_read_only,拥有super权限的用户尝试写入时会遇到以下...原创 2019-10-17 16:23:48 · 2002 阅读 · 0 评论 -
MySQL timeout类参数
connect_timeout在客户端建立连接阶段,MySQL等待客户端的连接packet,超过了connect_timeout之后MySQL会回应bad handshake并断开连接。该参数默认为10,单位秒。delayed_insert_timeout废弃参数,MySQL不再支持延迟插入。have_statement_timeout是否开启语句执行超时MAX_EXECUTION...原创 2019-10-12 10:46:42 · 2938 阅读 · 2 评论 -
MySQL binlog相关参数
binlog_cache_size每个线程的binlog cache大小,如果超过了会将binlog暂存到磁盘上,影响性能。binlog_checksumbinlog校验码,默认是采用CRC32,会为每一个binlog event写一个校验码;可指定为none关闭,关闭后只通过binlog event的长度来校验一致性。binlog_direct_non_transactional_u...原创 2019-10-11 16:09:12 · 1918 阅读 · 0 评论 -
MySQL buffer类参数
bulk_insert_buffer_sizemyisam引擎参数,在使用myisam引擎执行INSERT ... SELECT,INSERT ... VALUES (...), (...), ...,LOAD DATA INFILE批量插入时,会采用一种缓存树的内存结构来优化插入速度。bulk_insert_buffer_size来设置myisam每个线程的缓存树内存大小,默认值是8M,设为...原创 2019-10-10 09:53:13 · 3089 阅读 · 0 评论 -
MySQL Innodb buffer pool相关参数
innodb_buffer_pool_chunck_sizebuffer pool块大小,当buffer pool扩容或缩容时,以chunck为单位来进行空间resizing。只能在实例重启时修改生效。修改chunck大小,增加和减少的空间需要是MB的倍数。如果innodb_buffer_pool_chunck_size*innodb_buffer_pool_instances不能大于inn...原创 2019-09-30 12:16:31 · 988 阅读 · 0 评论 -
MySQL 字符集相关的参数
character_set_clientMySQL认为来自客户端的数据所使用的字符集,所以这个参数要和客户端使用的字符集一致。character_set_connectionMySQL处理客户端发来的信息时,会把信息的字符集当做character_set_client的值,并且将这些数据转换成character_set_connection所设置的字符集。character_set_res...原创 2019-09-30 10:25:33 · 277 阅读 · 0 评论 -
MySQL参数 主从复制的类型转换slave_type_conversions
我们经常接触到SQL里面用到join时,如果关联条件类型不一致,会出现类型转换,引发索引失效的性能问题。在主从复制中,如果同一字段在主从两端不一致,也是需要进行类型转换的,如果无法进行转换,从库复制线程会报错,使得从库复制异常停止。主库的数据在从库进行类型转换的行为,由从库侧的slave_type_conversions控制,可以指定为以下的一个或多个值:ALL_LOSSYALL_NON_...原创 2019-09-12 17:23:03 · 1467 阅读 · 0 评论 -
MySQL参数 innodb_flush_log_at_commit sync_binlog
先介绍一个innodb_flush_log_at_timeout这个参数控制每隔N秒执行一次redo log buffer的写出到OS缓存(write),以及持久化到磁盘文件(flush),默认值是1,即间隔1秒;innodb_flush_log_at_commit默认值为1,可取值0,1,2。各值含义如下:0:innodb redo log buffer的内容不会在事务提交时写出到red...原创 2019-09-29 15:26:59 · 369 阅读 · 1 评论 -
MySQL 统计信息收集相关参数
innodb_stats_persistent默认on,控制是否将统计信息持久化到磁盘,全局效果。也可以在建表时单独为各表设置stats_persistent=0|1来覆盖全局设定。innodb_stats_auto_recalc默认on,当表数据变化超过总行数的10%,自动重新收集统计信息。该参数是针对持久化统计信息而言。innodb_stats_include_delete_mar...原创 2019-09-29 11:58:50 · 512 阅读 · 0 评论 -
MySQL参数 avoid_temporal_upgrade back_log
avoid_temporal_upgrade再使用5.6.4以后的MySQL在执行alter table语句时,如果发现了5.6.4版本以前的时间字段,如time,datetime,timestamp,会自动将其升级到当前的MySQL版本,而在升级期间,实际上是需要重建整个表。例如在alter table … add index时,MySQL发现了一个5.6.4以前的timestamp列,就会...原创 2019-09-29 09:51:59 · 734 阅读 · 0 评论