MySQL服务器参数
=====================参数===============================
1、mysql获取配置信息路径
a、命令行参数
b、配置文件(建议使用)
2、mysql配置参数的作用域(在mysql的命令行中执行):
a、全局参数
set global 参数名=参数值
set @@global.参数名:=参数值
b、会话参数
set [session] 参数名=参数值
set @@session.参数名=参数值
=====================内存参数配置===============================
内存配置相关参数:
1、确定可以使用的内存的上限
2、确定mysql的每个连接使用的内存
sort_buffer_size join_buffer_size read_buffer_size
read_rnd_buffer_size
3、确定需要为操作系统保留多少内存:数据库服务器建议使用专门的服务器
4、如何为缓存池分配内存:(手册为内存75%以上)
Innodb_buffer_pool_size -->总内存-(每个内存所需要的内存*连接数)-系统保留内存
key_buffer_size
=====================IO相关参数配置===============================
Innodb I/O相关配置:
Innodb_log_buffer_size
单个事务日志大小:Innodb_log_file_size(重要)
事务日志文件的个数:Innodb_log_files_in_group
事务日志总大小:Innodb_log_files_in_group*Innodb_log_file_size
Innodb_flush_log_at_trx_commit:
0 每秒进行一次log写入到cache,并flush log到磁盘
1(默认) 在每次事务提交执行log写入cache,并flush log到磁盘(安全,性能差)
2(建议)每次事务提交,执行log数据写入到cache,每秒执行一次flush log到磁盘
Innodb_flush_method=O_DIRECT(使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log)
Innodb_file_per_table=1 (为每个表创建表空间)
Innodb_doublewrite=1 (增加数据的安全性,对性能有影响,但是较小)
MyISAM I/O相关配置:
delay_key_write:
OFF 每次写操作后刷新键缓冲中的脏块到磁盘(安全,性能差)
ON
ALL
=====================安全相关参数配置===============================
1、expire_logs_days 指定自动清理binlog的天数 eg:7
2、max_allowed_packet 指定mysql可以接受的包的大小 eg:32M
3、skip_name_resolve 禁用DNS查找
4、sysdate_is_now 确保sysdate()返回确定性日期
5、read_only 禁止非super权限的用户写权限(从库中启用)
6、skip_slave_start 禁用slave自动恢复
7、sql_mode 设置mysql所使用的sql模式
=====================其它常用配置参数===============================
1、sync_binlog 控制mysql如何向磁盘刷新binlog eg:1
2、tmp_table_size和max_heap_table_size 控制内存临时表大小
3、max_connections 控制允许的最大连接数(默认为100,可以设置为2000,具体而定)
MySQL服务器参数配置介绍
最新推荐文章于 2022-01-25 09:57:18 发布