[mysqld]
datadir=/var/lib/mysql 数据库所在的路径
socket=/var/lib/mysql/mysql.sock 套接字路径
old_passwords=1 兼容4.1版本之前的hash密码
max_connections = 1000 最大连接数目
max_connect_errors=500000000 最大错误连接数,防止错误连接等待过多导致性能下降
max_allowed_packet=61457280 发送最大包的值
max_length_for_sort_data=8096 设定一个触发使用双路排序的值,不足这个值的 ord by 排序使用单路排序
delayed_insert_timeout=300 设置延迟插入的超时时间,若在指定的时间内没有插入,则终止插入
table_cache=356 限制缓存表的最大数目,show global status like ‘open%_tables‘;
sort_buffer_size=50M 排序缓存大小设置,当处于高并发的时候不建议设置的太大
key_buffer_size=264M 索引区块的RMA值,为更好的处理索引
read_buffer_size=50M 随机读查询的缓冲区大小,也就是查询时候的缓冲区大小
join_buffer_size=50M 在进行 join 操作时,最大缓存块长度
tmp_table_size=100M 临时表的大小
max_heap_table_size=100M 内存表最大的大小,内存表会把表结构存放在磁盘上,把数据放在内存中。因此,重启数据库后在内存中的数据内容没有了,但是表结构还是在的。临时表和内存表的 engine 是不同的,临时表的 MyISAM ,而内存表是 MEMORY 。内存表的效率比临时表高一些
myisam_sort_buffer_size=50M 重建索引时,允许最大临时文件的大小
query_cache_size=64M 设置查询缓冲的大小,show variables like ‘have_query_cache‘;show variables like ‘query_cache_size‘;
query_cache_type = 1
查询结果写入缓存。这里可以设置三种值 0 , 1,2 ,其中 0 表示关闭缓存,也就是查询结构不写入缓存, 1 是写入, 2 是 demand 。但是事实证明,只要不关闭,查询就会先去缓存中找。
skip-name-resolve 禁用域名解析
ft_min_word_len = 1开启全文搜索,预先对于全站内容进行索引
character-set-server=utf8 设定使用的字符编码服务
log-bin=mysql-binf 设置二进制日志的开头名
expire-logs-days=3 设置日志过期时间
binlog_format = statement 设置 binlog_format 的模式, statement 表示记录每一个 sql 修改。若设置为 =row ,则表示记录修改的行,另外还可以设置为 mixedlevel ,为两者混合模式,在执行主从复制时使用 row 进行主从复制,在进行数据普通修改的时候进行 statement 复制。
server-id=1
#query
long_query_time=30 判断为慢查询的时间
slow_query_log_file=/var/log/mysql_slow.log 设定慢查询的日志文件
slow-query-log=on 开启慢查询
slow_query_log_timestamp_precision = microsecond 为判定为慢查询的语句打上时间戳
log-slow-queries = /var/log/mysql_slow.log 慢查询语句判定之后存放的位置
default-storage-engine = myisam 默认存储引擎设置
log_error = /var/log/mysqld.log 存放错误日志的位置
slave_load_tmpdir = /data/mysql_tmp_no_del 从服务器引导临时文件
tmpdir = /backup/mysql_tmp_no_del 临时文件目录
[mysqld_safe]
pid-file=/var/lib/mysql/mysqld.pid 指定存放 PID 的文件