Mysql5.7的核心参数

1. 存储引擎设置
 default_storage_engine = InnoDB

2. 单独表空间模式
innodb_file_per_table = ON

3. 共享表空间文件个数和大小
innodb_data_file_path = ibdata1:256M:ibdata2:256M:autoextend

4. 事务提交时刷新数据到磁盘
innodb_flush_log_at_trx_commit = 1  
当值是0时  ---> 每秒刷新redolog到ib_logfile0,ib_logfile1文件然后到磁盘,实现持久性(D)
当值是1时  ---> 当事务提交的时候刷新redolog到ib_logfile0,ib_logfile1文件然后到磁盘,实现持久性(D)
当值是1时  ---> 当事务提交的时候刷新redolog到ib_logfile0,ib_logfile1文件然后每秒刷新到磁盘,实现持久性(D)

5. innodb刷新数据到磁盘模式
innodb_flush_method = fsync
fsync: buffer_pool数据和redo_buffer数据都是先写到os_buffer,然后再刷新到磁盘
o_direct: redo_buffer数据是先写到os_buffer,然后再刷新到磁盘。buffer_pool直接写到磁盘(建议使用)
o_dsync: redo_buffer直接写到磁盘。buffer_pool数据是先写到os_buffer,然后再刷新到磁盘

6. redo日志设置有关的
innodb_log_buffer_size = 16777216  # redo_buffer的大小
innodb_log_file_size = 50331648  # ib_logfile的大小
innodb_log_files_in_group = 2  # ib_logfile文件的个数

7. 脏页刷写策略
innodb_max_dirty_pages_pct = 75.000000  # 当内存中的脏页达到内存的75%时刷新到磁盘
当redo满了的时候脏数据不管到没到75%页会刷新到磁盘




最高安全模式
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = o_direct

最高性能模式
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = fsync
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容