前面介绍了服务器硬件,操作系统,和数据库引擎对数据库性能的影响,现在我们再来看看,MYSQL服务器配置,是如何影响MYSQL性能的,大家知道,MYSQL有大量可以修改的参数,以我们演示的MYSQL系统来说呢,就有450项可配置的参数,当然这其中呢很大一部分的参数呢,只要保持默认值就可以了,有一些是需要根据我们服务器硬件的情况,应用类型,以及数据量的大小,和服务器的负载来进行调整,有一点要注意的是,修改默认参数配置时呢,一定要小心,并不是说默认的参数对我们来说就已经足够好了,而是说参数的调整,需要有经验的专业人员来处理,错误的参数配置,可能会导致服务器的奔溃,停止,或者运行缓慢,另外还有一点需要注意,MYSQL可以从多个位置获取参数,并且呢会按照获取的先后顺序,来处理对同一参数有冲突的配置,也就是说,对于同一个配置项,从后面位置获取的配置呢,会覆盖前面的配置,我们会经常遇到修改某个参数之后呢,发现在MYSQL服务器中,并没有生效的情况,这多半是由于多个地方对同一个参数进行配置的原因,那么MYSQL服务器呢,可以通过两种方式,来获取配置信息,一个是命令行参数,如下面Mysql启动命令呢,我们就在命令行中指定datadir这个参数mysqlid_safe -- datadir=/data/sql_data

数据库目录的位置,MYSQL服务器获取配置信息的另一种方法呢,是读取配置文件,对于任何长期使用的配置呢,我们都应该写在全局配置文件中,而不是在命令行中指定,前面说到过,对于配置文件我们一定要理解,所使用的系统中,MYSQL是在什么位置去读取配置文件的,只所以这么说呢,因为在不同的操作系统中,MYSQL读取配置文件的顺序呢可能是不同的,而在CentOS系统中呢,默认是读取etc下的my.cnf文件,对于我们所使用的系统,读取MYSQL系统配置文件的顺序呢,我们可以通过下面这个命令来进行查询mysqlid --help --verbose | grep -A 1 'Default options'/etc/my.cnf /etc/mysql/my.cnf /home/mysql/my.cnf ~/.my.cnf下面就是我们的演示系统中,mysql读取配置文件的顺序,我们可以看到,MYSQL会先从/etc下的my.cnf文件中读取配置文件信息,然后才是etc下的mysql下的my.cnf文件,从上面的介绍可以看出,我们使用的是CentOS系统,最后呢MYSQL从我们使用的用户的home目录读取my.cnf配置,大家注意这是一个隐藏文件,另外在启动MYSQL服务器时,来指定一个特殊的位置,作为我们读取配置文件的起始位置

MYSQL配置参数,根据作用域的不同呢,可以分为全局参数,和会话参数,有的参数只能进行全局配置,有的参数呢,可以对全局和会话作用域进行配置,另外有的参数是可以进行动态调整的,有的参数只能在系统启动时,或者初始化时来进行设置,下面我们所说的全局参数和会话参数呢,只能动态调整的参数才有效,我们可以使用下面的命令对全局参数进行配置,注意啊,这些命令要在MYSQL客户端上进行执行,而不是在系统命令行上执行,set global 参数名=参数值,set @@global.参数名:=参数值,这两种方法是等效的,同样的会话参数也可以通过下面的命令来进行设置,叫set[session]参数名=参数值,set @@session.参数名:=参数值,大家可以看到,上面两种命令唯一不同的就是,全局变量使用的是global关键字,而会话变量呢,session关键字,会话参数在没有被单独指定的情况下,会使用相同名称的全局参数的值来作为默认值,还有一点大家要注意,全局变量的更改,是对服务器全局有效地,但是呢有一点要注意,有的全局参数更改后只对新的连接的session有效,而对于已经连接的session呢,还是使用原来的参数,关于这一点可以给大家举个例子

回到我们的演示系统中,我们在演示系统中要建立两个连接,也就称之为session1和session2,我们先连到系统中,session1,这个是session2,可以先看一看当前系统环境中,timeout这个值是多少,我们有两个timeout参数,一个是wait_timeout,一个是交互的,大家可以看到,目前设置的都是18800秒,下面我们就通过global命令,来调整一下这两个参数的参数值,比如我们把它调整成3600秒,现在我们已经把这两个参数值改变了,注意这两个值要一起更改才会有效show variables where variable_name='wait_timeout' or variable_name='interactive_timeout';set global wait_timeout=3600; set global interactive_timeout=3600;

否则系统回去这两个最大的值来做为这两个参数的值,下面我们来回到session2中,来看看在session1中设置的两个值在session1中是否生效,在session2中这两个值还是18800秒show variables where variable_name='wait_timeout' or variable_name='interactive_timeout';

这并不是因为session1设置的参数在session2中没有生效,而是session2在session1改变参数之前就已经登陆了,我们要给他设置生效呢,就要退出当前session,重新再进入

发现他已经变成3600秒,这个就是我刚才说的那种情况show variables where variable_name='wait_timeout' or variable_name='interactive_timeout';

就是配置完成之后,我们要重新退出, 才能使我们的配置生效,如果我们不想重新登陆,那么要怎么做呢,其实对于我们可以控制的连接来说,是很简单的,只要对session级的参数进行配置就可以了,而对于我们无法控制的连接呢,在MYSQL5.7之前,是没有办法的,只能把它断开在登陆,而5.7之后呢,有的参数也是支持可以设置其他参数的配置值,另外还有一点需要我们注意的是,不要轻易的在全局参数中进行设置,因为有一些缓存,会一次性分配全部的内存,而不管实际上需要多么大,所以对于这种参数呢,一个全局设置可能会浪费大量的内存,对于这种情况最好的办法就是修改连接session级别的配置

MySQL服务器参数介绍相关推荐

  1. MySQL服务器参数配置

    本文是笔者整理了慕课网的<全面讲解MySQL架构设计>的第二章内容,提取出来的博客,方便在实际生产用按照属性条目,一条条进行配置和调优. 课程链接:https://coding.imooc ...

  2. 27个常见的MySQL服务器参数配置

      充分理解 MySQL 配置文件中各个变量的意义对我们有针对性的优化 MySQL 数据库性能有非常大的意义.通常我们需要根据不同的数据量级,不同的生产环境情况对MySQ配置文件进行优化    Lin ...

  3. mysql 最小配置_如何配置全世界最小的 MySQL 服务器

    配置全世界最小的 MySQL 服务器--如何在一块 Intel Edison 为控制板上安装一个 MySQL 服务器. 介绍 在我最近的一篇博文中,物联网,消息以及 MySQL,我展示了如果Parti ...

  4. MySQL相关参数配置及性能优化

    MySQL及其优化 文章目录 MySQL及其优化 数据库相关概念 事务的四大特性ACID 影响mysql数据库性能的几个方面 数据库性能优化的重点 CentOS系统参数优化 内核相关参数(/etc/s ...

  5. 登陆mysql服务器命令_Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)...

    Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境) 1.  启动MySQL服务 启动MySQL服务的命令为: 命令执行后如图7-5所示,表示启动MySQL服务成功. 也 ...

  6. mysql function 参数默认值_MySQL参数log_bin_trust_function_creators介绍

    MySQL的有个参数log_bin_trust_function_creators,官方文档对这个参数的介绍.解释如下所示: log_bin_trust_function_creators Comma ...

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

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

  8. MySQL8.0优化 - 优化MySQL服务器、优化MySQL的参数、优化数据类型

    文章目录 学习资料 优化MySQL服务器 优化服务器硬件 配置较大的内存 配置高速磁盘系统 合理分布磁盘I/O 配置多处理器 优化MySQL的参数 innodb_buffer_pool_size ke ...

  9. MySQL调优(七):滴滴一面二面题,服务器参数设置,redolog两阶段提交

    某同学的滴滴一面二面 1.自我介绍不要念稿 2.对项目描述要准确,不要看起来不懂装懂:态度问题.一些问题没接触过很正常.不要所有问题都抢着说,要展示态度. 服务器参数设置 thread_cache_s ...

最新文章

  1. 如何用原生js替换字符串中的某个字符(或字符串)为指定的字符串?
  2. 图片浏览器每次只能打开一张图片_导出阿里国际站图片银行中的图片到电脑
  3. DCGAN生成cifar10, cifar100, mnist, fashion_mnist,STL10,Anime图片(pytorch)
  4. Redis安装及基本配置
  5. ubuntu kvm 部署安装   快照
  6. Vim自动补全神器:YouCompleteMe
  7. pythonのdjango 缓存
  8. python 从小白到大牛这本书好嘛_《Python从小白到大牛》又一本零基础入门书
  9. 正确识别希捷Backup Plus新睿品1TB正品,杜绝奸商猖獗
  10. 酷派+k1+rom+android+4.4,酷派新品牌怎么样?ivvi K1全面评测
  11. c语言指数公式_c语言指数函数(c语言如何表示指数函数)
  12. iphone查看python文件_通过python获取苹果手机备份文件中的照片,视频等信息采集...
  13. 零基础自学画画的方法有哪些
  14. 扣图神器, 用Python 5行代码解决
  15. 交易日九点到九点半的挂单撤单以及价格的一点心得
  16. Kubernetes 之 二进制安装(二) 证书详解
  17. AD导入PCB后模型出现绿色叉叉报错的解决办法
  18. win8\win server 2012添加【中文--美式键盘】
  19. MXNet-图像分类(symbol版本)【附源码】
  20. 深度学习与计算机视觉系列(5)_反向传播与它的直观理解

热门文章

  1. 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...
  2. JS 关于(function( window, undefined ) {})(window)写法的理解
  3. 容器内存释放问题(STL新手笔记)
  4. 在实际开发中碰到的小问题,保存数据时提示:对象必须实现 IConvertible
  5. 11个笑话让你领悟人生
  6. MySQL数据库引擎详解
  7. 浏览器渲染流水线解析
  8. Python Numpy 笔记
  9. JavaScript 自执行函数剖析
  10. 数组list操作,切片