小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
内存配置相关参数
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
每个数据库用户最大连接