query_cache_size = 2M #指定mysql查询缓冲区的大小,可以通过在mysql控制台观察,如果qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果qcache_hits的值非常大,则表明查询缓冲区使用的非常频繁,另外如果改值较小反而会影响效率,那么则可以考虑不用查询缓冲,对于acache_free_blocks,如果该值非常大,则表明缓冲区碎片很多。
query_cache_limit = 1M #只有小于此设置值的结果才会被缓存。
query_cache_min_res_unit = 2k #设置查询缓存分配内存的最小单位,要适当设置此参数,可以做到为减少内存快的申请和分配次数,但是设置过大可能导致内存碎片数值上升,默认值为4K,建议设置W为1K~16K。
default_table_type = InnoDB #默认表的类型为InnoDB。
thread_stack = 192K #设置mysql每个线程的堆栈大小,默认值足够大,可满足普通操作,可设置范围为128K~4GB,默认为192K.
transaction_isolation = READ-COMMITTED #数据库隔离级别(READ UNCOMMITTED(读取未提交内容)READ COMMITTED(读取提交内容)REPEATABLE READ (可重读)SERIALIZABLE(可串行化))
tmp_table_size = 2M #设置内存临时表最大值,如果超过该值,则会将临时表写入磁盘,其范围1KB~4GB。
max_heap_table_size = 2M #独立的内存表所允许的最大容量
long_query_time = 1 #慢查询的执行用时上限,默认为10s,推荐1s~2s.
log_long_format #没有使用索引的查询也会被记录(推荐,根据业务来调整)
log-error = /data/3306/error.log #默认错误日志存放路径及名称(出现错误要看错误日志)
#log-slow-queries = /data/3306/slow.log #慢查询日志文件路径(如果开启慢查询,建议打开此日志)
pid-file = /data/3306/mysql.pid #mysql_pid文件记录的是当期mysqld进程的pid,pid即ProcessID
log-bin = /data/3306/mysql-bin #logbin是数据库的操作日志,例如:update、delete、create等都会存储到binlog日志,通过logbin可以实现增量恢复。
relay-log = /data/3306/relay-bin #relay-log日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。
relay-log-info-file = /data/3306/relay-log.info #从服务器用于记录中继日志相关信息的文件,默认名为数据目录中的relay-log.info。
binlog_cache_size = 1M #在一个事务中binlog为了记录SQL状态所持有的Cache大小,如果经常使用大的,多声明的事务,可以增加此值来获取更大的性能,所有从事务来的状态都被缓冲在binlog缓冲中,然后再提交一次性写入到binlog中,如果此事务比此值大,会使用磁盘上的临时文件来替代,此缓冲在每个链接的事务第一次更新状态时被创建。
max_binlog_cache_size = 1M #二进制日志文件的最大长度(默认设置1GB),一个二进制文件信息超过了这个最大长度之前,MySQL服务器会自动提供一个新的二进制文件接上。
expire_logs_days = 7 #超过7天的binlog.mysql程序自动删除(如果数据重要,建议不要开启该选项)
key_buffer_size = 16M #指定用于索引的缓冲区大小,增加它可以得到更好的索引处理性能,对于内存在4GB左右的服务器来说,该参数可设置为256MB或384MB。
注意:如果该参数值设定的过大的话反而使服务器的整体效率降低。