mysql 优化
相关优化参数总结
[mysqld]
server_id=1 (指定身份必写)
slow_query_log = 1
开启慢日志查询
slow_query_log_file = /usr/local/mysql/data/slow-query.log
将查询到的慢日志数据放到指定位置
long_query_time = 1
慢日志的条件 这条意思为查询时间为一秒
log-queries-not-using-indexes
不使用索引的日志查询
max_connections = 1024
最大链接数为1024个
back_log = 128
缓存请求连接数
wait_timeout = 60
使用交互式工具链接的等待时间
interactive_timeout = 7200
客户端链接mysql的等待时间
key_buffer_size=256M
myisam引擎中索引的缓存大小 索引读取的速度
query_cache_size = 256M
查询缓冲区域大小的设置
query_cache_type=1
有三个模式 1 最慢最安全 2 都一般 0 最快最不安全
query_cache_limit=50M
限制缓存的内容最多为50M
max_connect_errors=20
登录mysql最大失误次数为20次
sort_buffer_size = 2M
排序的线程的一个2M的缓冲区 order by group by
max_allowed_packet=32M
插入数据的最大值为32M
join_buffer_size=2M
链接缓存为2M
thread_cache_size=200
线程链接为200
innodb_buffer_pool_size = 2048M
innodb引擎中索引的缓存 索引读取的速度
innodb_flush_log_at_trx_commit = 1
主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。
innodb_log_buffer_size=32M
日志所用内存大小
innodb_log_file_size=128M
超过128M自动创建一个新的事务日志文件
innodb_log_files_in_group=3
分别向三个事务日志文件中插入数据
log-bin=mysql-bin
二进制日志文件名
binlog_cache_size=2M
二进制日志的缓存
max_binlog_cache_size=8M
最大能使用二进制日志缓存的大小
max_binlog_size=512M
指定binlog日志文件大大小超过会新建
expire_logs_days=7
超过七天的二进制日志文件将会自动删除
read_buffer_size=1M
读缓冲区大小
read_rnd_buffer_size=16M
随机读缓冲区大小
bulk_insert_buffer_size=64M
批量插入数据缓存大小
log-error = /usr/local/mysql/data/mysqld.err
错误日志
[mysqld]
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/data/slow-query.log
long_query_time = 1
log-queries-not-using-indexes
max_connections = 1024
back_log = 128
wait_timeout = 60
interactive_timeout = 7200
key_buffer_size=256M
query_cache_size = 256M
query_cache_type=1
query_cache_limit=50M
max_connect_errors=20
sort_buffer_size = 2M
max_allowed_packet=32M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size = 2048M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3
log-bin=mysql-bin
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M
log-error = /usr/local/mysql/data/mysqld.err