MySQL 数据库性能优化之数据库配置优化

目录

  • 目录
    • MySQL 数据库性能优化之缓存优化

MySQL 数据库性能优化之缓存优化

Innoddb引擎优化

  • 强烈推荐采用innodb引擎,default-storage-engine=Innodb
  • 调整innodb_buffer_pool_size大小,考虑设置为物理内存的50%-60%左右
  • 根据实际需要设置inno_flush_log_at_trx_commit,sync_binlog的值。如果要需要数据不能丢失,那么两个都设为1.如果允许丢失大一点数据,则可分别设为2和0,在slave上可设为0
  • 设置innodb_file_per_table = 1,使用独立表空间
  • 设置innodb_data_file_path = ibdata1:1G:autoextend,不要使用默认的10%
  • 设置innodb_log_file_size=256M,设置innodb_log_files_in_group=2,基本可满足90%以上的场景;
  • 不要将innodb_log_file_size参数设置太大,这样可以更快同时又更多的磁盘空间,丢掉多的日志通常是好的,在数据库崩溃后可以降低恢复数据库的事件
    ——————————————————————————————————————————————————
    Myisam引擎优化

——————————————————————————————————————————————————

  • 设置long_query_time = 1记录那些执行较慢的SQL,用于后续的分析排查;

——————————————————————————————————————————————————
- 根据业务实际需要,适当调整max_connection(最大连接数)
max_connection_error(最大错误数,建议设置为10万以上,而open_files_limit、innodb_open_files、table_open_cache、table_definition_cache这几个参数则可设为约10倍于max_connection的大小;)不要设置太大,会将数据库撑爆
——————————————————————————————————————————————————
tmp_table_szie、
max_heap_table_size、
sort_buffer_size、
join_buffer_size、
read_buffer_size、
read_rnd_buffer_size
等都是每个连接session分配的,因此不能设置过大
- 建议关闭query cache功能或降低设置不要超过512M

  • 如果采用MyISAM引擎,需要key_buffer_size加大。

参考链接
https://www.abcdocker.com/abcdocker/952
http://www.2cto.com/database/201605/506272.html
http://www.jb51.net/article/108173.htm

你可能感兴趣的:(Mysql,mysql)