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引擎优化
#配置项说明 缓存innodb表的索引,数据,插入数据时的缓冲, 1、官方建议设置为内存大小的80%,线上所挂载的大小为160G,可用130G,所以设置为104G 2、 事务日志的大小 官方推荐为:日志大小*日志组大小(默认为2)不能超过512G 1、该值越大,写入磁盘IO越小, 2、该值越大,出现错误恢复越难 3、默认为48M,修改为512M,也就是在大并发的时候1G的日志刷入。 4、如果该值调大,并且为了减少崩溃恢复,应该将下main的innodb_flush_log_at_trx_commit改为1
1
innodb_buffer_pool_size=104G
2
innodb_log_file_size=512M
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
不限制并发线程数