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
网友评论