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服务器参数的更多相关文章

  1. mysql性能优化之服务器参数配置-内存配置

    MySQL服务器参数介绍 MySQL获取配置信息路径 命令行参数 mysqld_safe --datadir=/data/sql_data 配置文件 mysqld --help --verbose | ...

  2. 1104关于优化mysql服务器几个参数和思路

    转自http://www.cnblogs.com/AloneSword/p/3207697.html 按照从大到小,从主要到次要的形式,分析 mysql 性能优化点,达到最终优化的效果. 利用 min ...

  3. mysql的从头到脚优化之服务器参数的调优

    一. 说到mysql的调优,有许多的点可以让我们去做,因此梳理下,一些调优的策略,今天只是总结下服务器参数的调优  其实说到,参数的调优,我的理解就是无非两点: 如果是Innodb的数据库,innod ...

  4. mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化

    建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...

  5. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  6. 1201MySQL配置文件mysql.ini参数详解

    转自http://www.cnblogs.com/feichexia/archive/2012/11/27/mysqlconf.html my.ini(Linux系统下是my.cnf),当mysql服 ...

  7. (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化

    本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...

  8. MySQL配置文件mysql.ini参数详解、MySQL性能优化

    my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.  ...

  9. 详解 Spotlight on MySQL监控MySQL服务器

    前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...

随机推荐

  1. C# 进程通信-命名管道

    之前看wcf服务的时候看到wcf有支持管道通信协议,之前不知道,最近刚好有用到这个,这里写个简单实例 .net有已经封装好的pip通信的对象NamedPipeServerStream 和NamedPi ...

  2. Windows任务计划向远程服务器拷贝文件,报登录失败: 未知的用户名或错误密码

    问题产生很奇怪,当你登录到系统时,执行自动化作业是正常 但到了晚上凌晨自动执行作业时,则报登录失败: 未知的用户名或错误密码 解决方案: 在拷贝脚本中加及一行,创建net use 命名,每次文件拷贝前 ...

  3. UOJ#172. 【WC2016】论战捆竹竿

    传送门 首先这个题目显然就是先求出所有的 \(border\),问题转化成一个可行性背包的问题 一个方法就是同余类最短路,裸跑 \(30\) 分,加优化 \(50\) 分 首先有个性质 \(borde ...

  4. Django之Form字段插件

    一.Django内置Form组件:        在使用Django内置的Form组件时,里面包含了许多[字段]和[插件],也就是验证用户输入的请求以及生成显示在前端的HTML.下面介绍一下用法: F ...

  5. 修改Nginx 伪静态Rewrite规则 安装Chevereto

    Chevereto 是目前最为强大的 PHP 图床系统,通过它可部署多用户公开或私有的图片存储服务,现在 Chevereto 出了免费的版本,小伙伴可以围观一下. https://github.com ...

  6. (生产)vue-lazyload - 图片延迟加载

    参考:https://www.npmjs.com/package/vue-lazyload CDN https://unpkg.com/vue-lazyload/vue-lazyload.js Usa ...

  7. JavaScript-原型&原型链&原型继承&组合函数

    小小的芝麻之旅: 今天学习了js的原型,要说原型,我们先简单说一下函数创建过程. 原型 每个函数在创建的时候js都自动添加了prototype属性,这就是函数的原型,原型就是函数的一个属性,类似一个指 ...

  8. Python power spectral 功率谱

    You can also use scipy.signal.welch to estimate the power spectral density using Welch’s method. Her ...

  9. sqlserver查询数据可编辑方法

    原文:http://www.cnblogs.com/DaphneOdera/p/6418592.html 第一步.选中表右键,点击编辑前200行. 第二步.数据展示页面点击下图中红线框中的sql按钮 ...

  10. Android BitmapFactory.Options

    public Bitmap inBitmap 如果设置,解码选项“对象的方法,采取将尝试重用这个位图加载内容时. public int inDensity 使用的位图的象素密度. public boo ...