配置MySQL服务器离不开配置文件,接下来就开始这一部分的内容。

首先一定要清楚配置文件的位置,如果不知道可以尝试下面的操作:

有时候可以使用show global status 的输出来看状态,有的时候也需要看随着时间的变化而变化的状态值,可以使用命令:

接下来看看内存的配置使用了。

MySQL可以使用的内存会受到操作系统位数的限制,MySQL保持一个连接(线程)只需要少量的内存,同时也需要为高峰时期执行大量查询预留好足够的内存。

下面是我们认为比较重要的缓存:

a、InnoDB缓冲池

b、InnoDB日志文件和MyISAM数据的操作系统缓存

c、MyISAM键缓存

d、查询缓存

InnoDB缓冲池并不仅仅缓存索引,还会缓存行的数据,自适应哈希索引,插入缓冲,锁,以及其他内部数据结构。很大的缓冲池,预热和关闭都很话费很长时间,重启服务器也会话费很长的时间,尤其是磁盘很慢的时候,可以使用Percona Server的快速预热功能,如果不能使用可以在重启时立刻进行全表扫描或者索引扫描,把索引载入缓冲池。可以通过使用init_file设置来实现这个功能。

如果大部分表都是MySIAM表,就应该为键缓存分配比较多的内存。最重要的配置是key_buffer_size,在决定键缓存需要分配多少内存之前,需要先了解MySIAM索引实际占用多少空间。查询INFORMATION_SCHEM表的INDEX_LENGTH字段,把他们的值相加就可以得到索引占用空间。如下:

linux下也可以使用如下命令:

默认情况下,MySIAM将所有索引都缓存在默认的键缓存中,但也可以创建多个命名的键,可以在配置文件中添加如下

key_buffer_1.key_buffer_size=1G

key_buffer_2.key_buffer_size=1G

可以使用cache index 命令来将表映射到对应的缓冲区,比如下面的语句,使用key_buffer_1来缓存t1和t2表的索引

也可以把表的索引预载入缓存中,如下命令:

即使全部是InnoDB表,没有MySIAM表,依然需要将key_buffer_size设置为一个较小的值,因为服务器有时会在内部使用MySIAM,例如GROUP BY语句可能会使用MySIAM作为临时表。

线程缓存保存那些当前没有连接但是准备为后面的连接服务的线程,thread_cache_size变量指定了MySQL可以保持在缓存中的线程数。

一个好的办法是观察Threads_connected变量并且尝试thread_cache_size,没有必要设置的非常大。

InnoDB有自己的表缓存,可以称为数据字典,当InnoDB打开一个表就增加了一个对应的对象到数据字典,当表关闭的时候也不会从数据字典移除。

另一个性能问题是第一次打开表会计算统计信息,这需要很多的I/O操作,相比MySIAM,InnoDB没有将统计信息持久化,而是在每次打开时重新计算,包括改变表的内容或者查询INFORMATION_SCHEMA表也会重新计算统计信息,如果有很多表,服务器可能会花费数个小时来启动并完成预热。MySQL5.6以后,可以通过innodb_analyze_is_persistent选项来持久化存储统计信息到磁盘上。

可以关闭innodb_stats_on_metadata选项来避免耗时的表统计信息的刷新。

本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1320197,如需转载请自行联系原作者

阿里云服务器mysql内存限制_高性能的MySQL(8)优化服务器配置一内存相关推荐

  1. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  2. 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用

    (原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...

  3. 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...

    购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...

  4. 阿里云服务器搭建JAVA环境详解(jdk+mysql+tomcat)

    网上的教程现在已经有很多了,我只是记录一下我自己搭建环境的过程 1.首先进入阿里云官网登录之后直接搜索"学生机",然后点击"云翼计划",我购买的是一个服务器EC ...

  5. 阿里云服务器搭建java运行环境(jdk+mysql+tomcat)

    网上的教程现在已经有很多了,我只是记录一下我自己搭建环境的过程 1.首先进入阿里云官网登录之后直接搜索"学生机",然后点击"云翼计划",我购买的是一个服务器EC ...

  6. mysql8 内存设置_高性能的MySQL(8)优化服务器配置一内存

    配置MySQL服务器离不开配置文件,接下来就开始这一部分的内容. 首先一定要清楚配置文件的位置,如果不知道可以尝试下面的操作:/usr/local/mysql/bin/mysqld --verbose ...

  7. 阿里云服务器访问恶意域名_处理方法

    问题 解决方法 点击详情找到ip,配置安全组规则:

  8. mysql维护索引_高性能的MySQL(5)索引策略-索引和表的维护

    维护表有三个主要的目的: 1.找到并修复损坏的表. 对于MyISAM存储引擎来说,表损坏通常是系统崩溃导致的.其他的引擎也会由于硬件的问题,MySQL本身的缺陷或者操作系统的问题导致索引的损坏. 损坏 ...

  9. 最优惠租云服务器_租一年阿里云服务器多少钱,怎么租更便宜

    阿里云服务器可以月租,也可以年租,月租没有优惠,年租可以享受最低8.5折的折扣优惠,租用的费用主要看租用的云服务器实例规格和配置带宽的高低,目前阿里云服务器租用一年最低只要96.90,在实际租用中,利 ...

最新文章

  1. 【洛谷P1508】吃吃吃
  2. HTML5 canvas 在线画笔绘图工具(三)
  3. 关于Lambda和匿名内部类
  4. yolov3/tiny-yolov3训练和测试 python2/3
  5. 一个民工的数字化生活
  6. sqlserver索引维护(重新组织生成索引)
  7. 隐藏在数学中的哲理,令人回味无穷
  8. GIS工具篇(二):GIS最全数据下载指南
  9. Java VisualVM无法检测到本地java程序 的 解决办法
  10. SQL Server 默认跟踪 -- 捕获事件详解
  11. 用Java实现非阻塞通信
  12. 边缘计算应用场景_从6大应用场景,看边缘计算落地生根
  13. 设计模式学习笔记(十四:单件模式)
  14. 17.Linux 高性能服务器编程 --- 系统检测工具
  15. 图书馆占座系统(七)
  16. (可再看)深度学习学习笔记(1)
  17. 一读就错的68个姓氏,第一个就读错了
  18. SpringBoot + Vue 结合支付宝支付(3)--调用api
  19. vue+axios上传文件的几种方式及步骤(以上传图片为例)
  20. DirectX12 - Triangle Culling and Winding Order(三角形的剔除与绕序)

热门文章

  1. 苹果宣布对2019款iPad降价:最高降幅达500元
  2. 背部辨识度极高!红米K30系列将率先采用高通5G处理器
  3. 支付361万元“家庭抚养费”后,贾跃亭向法院申请与甘薇离婚?
  4. 全球最快65W闪充!OPPO Reno Ace正式发布 高达限量定制版售价仅3599元
  5. 三星Galaxy Note 10+真机照公布:居中开孔前摄实锤
  6. 一代人的回忆!国产游戏机传奇落幕:官网已无法正常访问
  7. 早买早享受 晚买有折扣 !特斯拉大降价致消费者拉横幅抗议
  8. 苹果App Store曝出Bug 你遇到了么?
  9. R语言chorolayer_R成精系列-R 错误汇总
  10. webrtc静音检测