安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cnf, my-medium.cnf,my-small.cnf,分别对应大中小型数据库应用的配置。win环境下即存在于MySQL安装目录中的.ini文件。
my.ini目录:C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7
可通过 show variables 命令查看 datadir变量来查询mysql data的存放目录
## my.ini目录:C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7
# 可通过 show variables命令查看 datadir变量来查询mysql data的存放目录
##################一、确定MySQL的最大连接数#########################
# MySQL的最大并发连接数,如果经常出现Too Many Connections的错误提示,服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量;
# 默认151
# 设置方式:在my.ini中找到max_connections直接修改,重启服务生效。
show variables like 'max_connections';
#如果max_used_connections跟max_connections相同 那么就是max_connections设置过低或者超过服务器负载上限了,低于10%则设置过大。
#[变量]响应的连接数
show status like 'max_used_connections';
# 在MySQL5.5之前,广泛使用的和默认的存储引擎是MyISAM。MyISAM使用操作系统缓存来缓存数据。
default-storage-engine=INNODB;
# InnoDB需要innodb buffer pool中处理缓存。所以非常需要有足够的InnoDB buffer pool空间。
# 默认8M,可以设置为物理内存的50% -70%左右(总内存减去操作系统、其他运行程序占用的内存)。
# 设置方式:在my.ini中找到innodb_buffer_pool_size直接修改,重启服务生效。
show variables like 'innodb_buffer_pool_size';
# 设置innodb_log_file_size=256M
show variables like 'innodb_log_file_size';
# 日志缓冲区的大小,默认为1M。通常不需要把日志缓冲区设置得非常大。推荐的范围是1~8M
show variables like 'innodb_log_buffer_size';
##################二、为临时表分配足够的内存#########################
#为临时表分配足够的内存,默认为16M=16777216
show variables like '%heap%';
#为临时表分配32M的内存
set max_heap_table_size=64777216;
show variables like 'tmp_table_size'
set tmp_table_size=64777216;
##################三、增加线程缓存大小#########################
# 缓存的线程数,观察Threads_connected状态变量并且找到它在一般情况下的最大值和最小值。可以设置为波动范围2~3倍大小
# 默认10
# 设置方式:在my.ini中找到thread_cache_size直接修改,重启服务生效。
show variables like 'thread_cache_size';
#[变量]当前使用连接数
show STATUS like 'threads_connected';
#[变量]正在执行sql的连接数或者 忙碌的连接
show STATUS like 'threads_running';
#[变量]有多少线程已经在缓存中了
show status like 'threads_created';
#open_files_limit、innodb_open_files、table_open_cache、table_definition_cache可以设置大约为max_connection的10倍左右大小。