mysql服务器参数
mysql服务器参数:
配置是从上往下读取,同一个参数项,后边的配置项会覆盖前边的配置项
mysql获取配置信息路径:
- 命令行参数 mysqld_safe --datadir=/data/sql_data
- 配置文件 centos默认读取/etc/my.cnf
默认读取配置文件顺序:
[root@localhost ~]# mysql --help --verbose | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
mysql配置参数的作用域:
- 全局参数
set global.参数名:=参数值; - 会话参数
set [session] 参数名=参数值;
内存配置相关参数:
- 确定可以使用的内存上限
- 确定每个连接使用的内存 以下参数都是为每个线程分配的,有多少个线程就会分配多少
sort_buffer_size 排序缓存区大小,注意:一旦查询需要排序,mysql会立即分配这个指定值的大小,不管这个排序查询是否需要这么大
如果设置为100M,如果有100个连接,使用的内存就是10G,会导致内存溢出,慎用join_buffer_size 连接缓存区大小,连表查询会导致多个连接缓存区,也不建议配置太大,分配这个指定值的大小
read_buffer_size 全表扫描时候分配的读缓存区的大小,一定要是4K的倍数,分配这个指定值的大小
red_rnd_buffer_size 索引缓存区的大小,分配的是需要的,不以参数为标准 - 确定需要为操作系统保留多少内存
- 如何为缓存池分配大小 innodb的性能依赖于缓存池
innodb_buffer_poll_size 这个值调整以后需要重启mysql服务器
总内存-(每个线程所需要的内存 * 连接数)-系统保留内存key_buffer_size 主要用于myisam缓存引擎的
IO配置相关参数 这部分参数决定了如何同步mysql缓存池中的数据到磁盘上
innodb I/O相关配置:
- innodb_log_file_size 控制了单个事务日志文件的大小
- innodb_log_file_in_group 控制事务文件个数
- 事务日志的总大小=innodb_log_file_size * innodb_log_file_in_group
- innodb_log_buffer_size 缓存池大小 建议32M~128M
- innodb_flush_log_at_trx_commit 刷新事务日志的频率
0:每秒进行一次log写入cache,并flush log到磁盘
1(默认):在每次事务提交执行log写入cache,并flush log到磁盘 最安全的设置,但是性能最差
2(建议):每秒事务提交,执行log数据写入到cache,每秒执行一次flush log 到磁盘 mysql进程崩溃时不会丢失任何的事务 - innodb_flush_method=O_DIRECT #对于linux系统是最好的选择
#决定了innodb数据文件跟日志文件 和 系统文件如何去交互,配置如下可以通知操作系统不要缓存数据,也不要预读,就是说完全关闭了操作系统的缓存,读和写都会直接通过存储设备来完成,避免了innodb和操作系统对于数据的双重缓存 - innodb_file_per_table=1 #使用独立表空间
- innodb_doublewrite=1 #控制双写缓存,避免系统崩溃造成的数据丢失,保证数据的安全性
myisam I/O相关配置:
- delay_key_write 延迟键写入
OFF:每次写操作后刷新键缓冲中的脏块到磁盘 最安全的选项,但是性能比较差
ON(默认):只对在建表时候指定了delay_key_write选项的表使用延迟刷新
ALL:对所有MYISAM表都延迟键写入
安全配置相关参数
- expire_logs_days 指定自动清理binlog的天数,以天为单位
- max_allowed_packet 控制mysql可以接收的包的大小,默认为2M,太小了,可以设置为32M 注意:主从服务器上这个配置要保持一致
- skip_name_resolve(默认关闭) 禁用DNS查找
- read_only 禁止非super权限用户写权限,建议在备库中启用
- skip_slave_start 禁用自动启动复制,从库配置
- sql_mode最好不要使用
- sync_binlog 控制mysql如何向磁盘刷新binlog,为1的时候最安全,默认为0
mysql服务器参数的更多相关文章
- mysql性能优化之服务器参数配置-内存配置
MySQL服务器参数介绍 MySQL获取配置信息路径 命令行参数 mysqld_safe --datadir=/data/sql_data 配置文件 mysqld --help --verbose | ...
- 1104关于优化mysql服务器几个参数和思路
转自http://www.cnblogs.com/AloneSword/p/3207697.html 按照从大到小,从主要到次要的形式,分析 mysql 性能优化点,达到最终优化的效果. 利用 min ...
- mysql的从头到脚优化之服务器参数的调优
一. 说到mysql的调优,有许多的点可以让我们去做,因此梳理下,一些调优的策略,今天只是总结下服务器参数的调优 其实说到,参数的调优,我的理解就是无非两点: 如果是Innodb的数据库,innod ...
- mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化
建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- 1201MySQL配置文件mysql.ini参数详解
转自http://www.cnblogs.com/feichexia/archive/2012/11/27/mysqlconf.html my.ini(Linux系统下是my.cnf),当mysql服 ...
- (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化
本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section. ...
- 详解 Spotlight on MySQL监控MySQL服务器
前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...
随机推荐
- 腾讯企业邮箱报错 "smtp.exmail.qq.com"port 465, isSSL false
一.报错 "smtp.exmail.qq.com" port 465, isSSL false 通过网上搜索查询一些资料,推测是邮箱的配置出问题了. 二.修改邮箱配置 // 创建属 ...
- csu 1365 双向链表模拟超时
1365: Play with Chain Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 21 Solved: 5[Submit][Status][W ...
- Java SE 8 的流库学习笔记
前言:流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图.如: //使用foreach迭代 long count = 0; for (String w : words) { if (w. ...
- Web服务器学习总结(一):web服务器简介
一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...
- HTML 5 教程
HTML5 是下一代的 HTML.有必要再过一遍.看下要点. 具体看 http://www.w3school.com.cn/html5/index.asp 教程 和 HTML5 标签参考手册 ...
- 1 win10双系统安装ubuntu16.04和18.04(问题详细记录)
我从来不想在琐事上花功夫.就拿装系统来说,我感觉拿过来一个完全陌生的项目源码,看起来,都比装系统爽.我属于典型的逻辑思考男.喜欢畅游程序的海洋. 一直windows跑深度学习和tensorflow,有 ...
- python 待关注库
Python待关注库 GUI 图形 Tkinter/wxPython/PyGTK/PyQt/PySide Web框架 django/web2py/flask/bottle/tornadoweb/web ...
- Python用户交互-密码不可见
输入密码时若让用户不可见,可以使用getpass模块中的getpass方法 # 输入密码时若想要不可见,使用getpass模块中getpass方法即可 import getpass pwd=getpa ...
- 关于Java Microbenchmark的一点记录
大家知道单元测试对代码质量的保障作用已经没什么可说的了.Microbenchmark(微基准测试)也是保证代码质量的重要手段,也是容易忽略的,它用来衡量一些小的代码片段的性能指标,完善的Microbe ...
- leetcode Ch7-Graph Search
1. Clone Graph BFS: class Solution { public: typedef UndirectedGraphNode UGNode; UndirectedGraphNode ...