• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

Mysql5.7配置参数优化

1、启用多线程

设置多线程数目,默认为0,启用的单线程

slave-parallel-workers=16

 

2、extra_port

引入一个参数extra_port 用来解决too many connections的问题

 

3、default-storage-engine

设置默认的存储引擎

default-storage-engine   = InnoDB

 

4innodb_buffer_pool_size

单实例且绝大多数是InnoDB引擎表的话,可考虑设置为物理内存的50% ~ 70%

 

5数据丢失保证

innodb_flush_log_at_trx_commit  = 1 //每次事务提交时MySQL都会把log buffer的数据写入log file。

 

sync_binlog = 1 //默认为一每写N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去。

 

6、innodb_file_per_table

使用mysql的独立表空间

 

 

7、innodb_data_file_path

 

默认的10M,建议调整大些。

但是,如果直接调整大小大于已经存在的文件大小会出现如下错误:

2017-08-31T02:54:07.797307Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file '/data/matchs/data/ibdata1' is of a different size 16512 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!

2017-08-31T02:54:07.797333Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error

2017-08-31T02:54:08.898393Z 0 [ERROR] Plugin 'InnoDB' init function returned error.

2017-08-31T02:54:08.898422Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2017-08-31T02:54:08.898442Z 0 [ERROR] Failed to initialize plugins.

 

 

8、long_query_time

大于一秒使用慢日志记录

 

9调整连接数限制

max_connections          = 1024

max_connect_errors       = 10000

 

10、太大使用内存的容量过多

容易触发系统OOM

 

tmp_table_size           = 512M

max_heap_table_size      = 512M

key_buffer_size                 = 30M

sort_buffer_size                = 4M

read_buffer_size                = 4M

join_buffer_size                = 16M

read_rnd_buffer_size            = 16M

bulk_insert_buffer_size         = 64M

myisam_sort_buffer_size         = 64M

myisam_max_sort_file_size       = 10G

 

Mysql5.7配置参数优化

Pingbacks已打开。

引用地址

暂无评论

发表评论