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