CentOS 6.7下MySQL 5.6快速安装及参数详解(3)

MySQL主从部署文档:

五、配置文件说明 1、基本配置 [mysqld] #配置项说明
1   user=mysql   启动用户  
2   datadir=/database/mysql   数据库所在路径  
3   socket=/var/lib/mysql/mysql.sock   sock文件所在目录  
4   skip-name-resolve   禁用DNS解析,访问太慢加入此优化  
5   symbolic-links=0   关闭符号连接  
6   slow_query_log_file = /var/log/mysql_slow_query.log   慢查询日志所在路径  
7   long_query_time=1   记录1秒以上的慢查询  
8   slow_query_log=1   开启慢查询  
9   server-id=171   每一个mysql实例设置一个独立的server-id一般以IP定义  
10   log_bin=/database/mysql/mysql_bin   二进制文件所在路径及格式  
11  

binlog_format=mixed

 

定义二进制文件输出的格式(混合型)

可定义类型:

1、row

详细记录所有,会产生大量的日志。

2、statement(默认)

记录sql语句,及其位置。在复杂的语句时可能记录不正确。

3、mixed

以上两种的结合,会自动选择。

 
12   sync-binlog=1  

默认为0 1是最安全的。

1、当出现错误的时候,设置为1,最多会丢失一个事务。

2、他是最慢的选择。

3、但是确保恢复快的话,应该由双电源缓存机制存在。

 
13   expire_logs_days=14   保留二进制文件的天数  
[mysqld_safe] #配置项说明
1   log-error=/var/log/mysqld.log   错误日志路径  
2  

pid-file=/var/run/mysqld/mysqld.pid

  pid文件所在路径  
2、优化项配置 #innodb引擎优化

#配置项说明
1   innodb_buffer_pool_size=104G  

缓存innodb表的索引,数据,插入数据时的缓冲,

1、官方建议设置为内存大小的80%,线上所挂载的大小为160G,可用130G,所以设置为104G

2、

 
2   innodb_log_file_size=512M  

事务日志的大小

官方推荐为:日志大小*日志组大小(默认为2)不能超过512G

1、该值越大,写入磁盘IO越小,

2、该值越大,出现错误恢复越难

3、默认为48M,修改为512M,也就是在大并发的时候1G的日志刷入。

4、如果该值调大,并且为了减少崩溃恢复,应该将下main的innodb_flush_log_at_trx_commit改为1

 
3   innodb_log_buffer_size = 8M   事务在内存中的缓冲大小  
4   innodb_flush_log_at_trx_commit=2   每秒将事务日志刷到磁盘中 (0:每秒刷一次 1:提交事务就刷入磁盘 2:有事务执行,然后每秒刷一次)  
5   innodb_file_per_table=1   开启共享表空间自动收缩  
6   innodb_file_io_threads=4   可用的IO线程数  
7   innodb_flush_method=O_DIRECT   定义刷写模式(默认为:fdatasync) O_DIRECT会最小化缓冲对io的影响,  
8   innodb_io_capacity=2000   定义读写IO的能力 和磁盘转速及大小有关  
9   innodb_io_capacity_max=6000   每秒最大IO能力  
10   innodb_lru_scan_depth=2000   一般与innodb_io_capacity的值相同  
11   innodb_thread_concurrency = 0   不限制并发线程数  

#cache缓存优化

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/df2b38975926a34237c70595c8a0463f.html