mysql 常用配置

innodb_buffer_pool_size 缓冲区的大小,一般为内存的70%-80%之间, 用来缓存表及索引数据,锁等级数据的最主要缓存空间。

通过查看 show status like 'innodb_buffer_pool_%';

innodb_log_file_size 日志文件大小,越大越好,可以减少 buffer pool checkpoint的频率不能超过4G,

可以设置了多个组,如3组,每组大小 300M

innodb_log_buffer_size 设置 log buffer大小,默认为1M,主要作用就是缓冲Log数据,

提高 Log 的IO性能,一般8M可以胜任 show status like 'innodb_log%'; 如果 Innodb_log_waits 为 0 ,

不用等待,缓存够大, 如果大于0,就是缓存不够大,可以适当增大innodb_file_per_table =1

可以每个表有单独的数据和索引文件数据

innodb_data_file_path 不仅指定所有 innodb数据文件的路径,

还指定初始大小分配,以下是两个硬盘

innodb_data_file_path = /disk1/local/mysql/innodb1:1000M:autoextend:8M:max:1G;

innodb_data_file_path = /disk2/local/mysql/innodb2:2000M:autoextend

如果没有指定innodb_data_home_dir的话,不然就直接用 innodb_data_home_dir的值

如果指定 innodb_data_home_dir,则: innodb_data_home_dir=/usr/local/mysql innodb_data_file_path=ibdata1:2G;ibdata2:2G;ibdata3:2G:autoextend:max:3G

则表示在/usr/local/mysql下有 ibdata1,ibdata2,ibdata3三个存放数据的文件,

最后一个可以自动扩展,就是当ibdata3大于2G时,会自动增加,增加到 最大为3G

============================

[mysqld]

#general

datadir   = /usr/local/mysql socket   = /usr/local/mysql/mysql.sock (应该与编译安装目录不在同一位置)

pid_file  =/usr/local/mysql/mysql.pid (应该与编译安装目录不在同一位置)

user   = mysql

port   =3306

default_storage_engine =innodb

expire_logs_days = 15

#innodb

innodb_buffer_pool_size = 70-80%内存值

innodb_log_file_size = 至少要有几百M

innodb_log_buffer_size = 1-8M/32-128M

innodb_file_per_table = 1

#innodb与文件系统相互作用,设置为 0_DIRECT时,需要打开 innodb_file_per_table

#默认为 fdatasync innodb_flush_method = 0_DIRECT (类unix特有,绕过操作系统的缓存)

#MYISAM

#键缓存,默认只有一个,但可以设置多个,只缓存索引,数据缓存则靠系统

#查看总大小,应该比这个值小一点点,单位为 B

# select sum(index_length) from information_schema.tables where engine='myisam';

key_buffer_size  = 32M

#设置多个时

key_buffer_1.key_buffer_size = value

key_buffer_2.key_buffer_size = value

#用key_buffer_1来缓存t1,t2表的、索引

cache index t1,t2 in key_buffer_1;

########

#LOGGING

log_error  = /usr/local/mysql/mysql-error.log

slow_query_log  = /usr/local/mysql/mysql-slow.log

#OTHER

tmp_table_size  = 32M/或更大

max_heap_table_size = 32M

query_cache_type = 0

query_cache_size = 0

max_connections  = 10000(默认为100)

open_file_limit  = 65535 (打开最大文件数目,越大会越好点)

[client]

socket   = /usr/local/mysql/mysql.sock

port   = 3306

 

posted @ 2015-09-05 14:24  好记性还真不如烂笔头  阅读(418)  评论(0编辑  收藏  举报