MySql减少内存占用的方法详解
前言
默认设置下,mysql会初始化很大的内存块用于缓存数据库查询数据。
但我的小主机只有640mb的内存,top查询发现他吃了我30% 的内存总量,差不多200MB。
但这个数据库里只有几MB的数据,感觉这设置很不合理。
经过爬文,终于把内存占用降到了128MB
实现方法
直接修改 /etc/mysql/mysql.conf.d/mysqld.cnf
在配置末尾追加如下配置
performance_schema_max_table_instances=150 table_definition_cache=150 table_open_cache=64
然后 service mysql restart 重启服务即可
效果
优化前
优化后
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Mysql5.6启动内存占用过高解决方案
vps的内存为512M,安装好nginx,php等启动起来,mysql死活启动不起来看了日志只看到对应pid被结束了,后跟踪看发现是内存不足被killed; 调整my.cnf 参数,重新配置(系统默认配置太高直接占用400M内存,小玩家玩不起呢)即可 performance_schema_max_table_instances=200 table_definition_cache=200 table_open_cache=128 下面附一个相关的my.cnf配置文件的说明 [client] po
-
MySQL大内存配置方案 如my-medium.ini、my-huge.ini等
MySql noinstall-5.1.xx-win32 配置(原创) 1.解压mysql-noinstall-5.1.xx-win32.zip 到你喜欢的目录,例如:d:\php\mysql 2.在根目录d:\php\mysql中有五个配置信息文件: my-small.ini (内存 <= 64M) my-medium.ini (内存 128M ) my-large.ini (内存 512M) my-huge.ini (内存 1G-2G) my-innodb-heavy-4G.ini (内存
-
MySQL占用内存较大与CPU过高测试与解决办法
更改后如下: innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀 query_cache_size=100M ->16M 查询缓存 tmp_table_size=102M ->64M 临时表大小 key_buffer_size=256m ->32M 重启mysql服务后,虚拟内存降到200以下. 另外mysql安装目录下有几个文件:my-huge.ini .my-large.ini.my-medium.ini..
-
mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)
此配置是老男孩生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数 MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-rehash [mysqld] user = mysql port = 3306 socket = /data/3306/my
-
MySQL内存使用的查看方式详解
前言 本文主要给大家介绍了关于MySQL内存使用查看的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 使用版本:MySQL 5.7 官方文档 在performance_schema有如下表记录内存使用情况 mysql> show tables like '%memory%summary%'; +-------------------------------------------------+ | Tables_in_performance_schema (%memor
-
MySQL 5.5.49 大内存优化配置文件优化详解
一.配置文件说明 my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf my-innodb-heavy-4G.cnf 二.详解 my-innodb-heavy-4G.cnf 三.配置文件优化 注:环境说明,CentO5.5 x86_64+MySQL-5.5.32 相关软件下载:http://yunpan.cn/QtaCuLHLRKzRq 一.配置文件说明 Mysql-5.5.49是Mysql5.5系列中最后一个版本,也是最后一个有配置文件的版本,
-
MySql减少内存占用的方法详解
前言 默认设置下,mysql会初始化很大的内存块用于缓存数据库查询数据. 但我的小主机只有640mb的内存,top查询发现他吃了我30% 的内存总量,差不多200MB. 但这个数据库里只有几MB的数据,感觉这设置很不合理. 经过爬文,终于把内存占用降到了128MB 实现方法 直接修改 /etc/mysql/mysql.conf.d/mysqld.cnf 在配置末尾追加如下配置 performance_schema_max_table_instances=150 table_definition_
-
Android通过json向MySQL中读写数据的方法详解【读取篇】
本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");
-
Android通过json向MySQL中读写数据的方法详解【写入篇】
本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j
-
Mysql Binlog数据查看的方法详解
binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 基于语句,无法保证所有语句都在从库执行成功,比如update ... limit 1; 基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势. 登录到mysql查看binlog 只查看第一个binlog文件的内容 show bin
-
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
本文实例讲述了VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法.分享给大家供大家参考,具体如下: 昨天试用了VPS,花了一天部署了一个简单应用.在下面的过程中省去了用django 创建project的一步,忘记了你自己一用startporject 创建. 下面是原来边操作,边记录的东西,我习惯文本编辑.可能格式不好看.现在搬到博客中来. 首先安装GCC. yum -y install gcc automake autoconf libtool ma
-
mysql存储过程原理与使用方法详解
本文实例讲述了mysql存储过程原理与使用方法.分享给大家供大家参考,具体如下: 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 存储过程的优点 #1. 用于替代程序写的SQL语句,实现程序与sql解耦 #2. 可以通过直接修改存储过程的方式修改业务逻辑(或bug),而不用重启服务器 #3. 执行速度快,存储过程经过编译之后会比单独一条一条执行要快 #4. 减少网络传输,尤其是在高并发情况下这点优势大,存储过程直接就在数据库服务器上
-
MYSQL日志的正确删除方法详解
本文详细讲述了MYSQL日志的正确删除方法.分享给大家供大家参考,具体如下: 1.查找: MySQL> show binary logs; +------+---–+ | Log_name | File_size | +------+---–+ | mysql-bin.000001 | 150462942 | | mysql-bin.000002 | 125 | | mysql-bin.000003 | 106 | +------+---–+ 2.删除bin-log(删除mysql-bin.00
-
MYSQL数据库表结构优化方法详解
本文实例讲述了MYSQL数据库表结构优化方法.分享给大家供大家参考,具体如下: 选择合适的数据类型 1.使用可以存下你的数据的最小的数据类型 2.使用简单的数据类型.Int要比varchar类型在mysql处理上简单 3.尽可能的使用not null定义字段 4.尽量少用text类型,非用不可时最好考虑分表 使用int来存储日期时间,利用FROM_UNIXTIME()[将int类型时间戳转换成日期时间格式],UNIX_TIMESTAMP()[将日期时间格式转换成int类型]两个函数进行转换 使用
-
mysql去重的两种方法详解及实例代码
mysql去重 方法一: 在使用MySQL时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段 下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的所有
-
批量杀死MySQL连接的四种方法详解
方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令. 复制代码 代码如下: mysql> select concat('KILL ',id,';') from information_schema.processlist where user='root'; +------------------------+ | concat('KILL ',id,';') | +----------
随机推荐
- Gird事件机制初级读本
- 如何在线查询本地机的文件?
- AngularJS中如何使用echart插件示例详解
- 修改系统用户名的批处理代码
- ASP.NET The system cannot find the file specified解决办法
- JavaScript获取DOM元素的11种方法总结
- 理解js回收机制通俗易懂版
- js实现可旋转的立方体模型
- asp.net导出Excel乱码的原因及解决方法
- asp实现带刷新功能的验证码代码
- PHP两种去掉数组重复值的方法比较
- php读取qqwry.dat ip地址定位文件的类实例代码
- ASP.NET创建三层架构图解详细教程
- win2003 服务器 安全设置 技术实例(比较安全的方法)
- JavaScript String 对象常用方法详解
- 不错的PHP学习之php4与php5之间会穿梭一点点感悟
- VBS教程:属性-AtEndOfStream 属性
- java使用servlet实现验证码
- C#控制台进行文件读写的方法
- 重定向实现代码