MySQL最全服务器配置参数

742 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

内存配置相关参数

sort_buffer_size

会话内存参数会为每一个连接分配对应内存大小,会话发送的语句需要排序时就会一次性分配对应大小缓存

join_buffer_size

应用程序经常会出现多表连接查询,MYSQL在完成某些joins需求时,为了减少参与join的表读取次数来提高性能,使用join_buffer来协助完成join操作

read_buffer_size

MYSQL读入缓存区大小,对表进行顺序扫描时,将分配一个读入缓存区

read_rnd_buffer_size

MYSQL随机缓存区大小,当随机读取时,将分配一个缓存区

innodb_buffer_size

InnoDB使用该参数指定大小的内存来缓冲数据和索引

key_buffer_size

决定myisam索引处理的速度,只对myisam索引缓冲起作用

IO相关配置参数

innodb_log_file_size

这个值设置 redo log 文件的大小

innodb_log_files_in_group

这个值设置 redo log 文件的个数

innodb_log_buffer_size

redo log缓存池大小

innodb_flush_log_trx_commit

这参数设置了mysql redo log刷新到日志文件的方式。该参数设置有以下三个值:

0:每隔一秒mysql将redo log buffer中的数据刷新到操作系统cache中,并刷新到磁盘中,但是事务提交操作并不会引起任何操作。这样会至少丢失1秒钟的数据。

1:在每次事务提交执行log写入cache,并将数据刷新到磁盘。(系统默认设置)

2:事务提交时会将数据刷新到操作系统的cache中,但是并不会引起数据刷新到磁盘中,这样在系统崩溃时候有可能造成1s的数据丢失。

安全相关配置

expire_logs_days

指定二进制日志保留的天数

skip_name_reslve

禁用DNS查找

read_only

将数据库设置为只读模式

skip_slave_start

mysql启动后不会启动主从复制

其他配置参数

back_log

 back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源

wait_timeout

MYSQL客户端数据库连接闲置最大时间值

当MYSQL连接闲置超过一定时间将会被强行关闭

max_connection

mysql最大连接数

max_user_connections

每个数据库用户最大连接