[原]分享一个低配VPS下运行的mysql配置文件

在各种内存CPU核心只有1/2核,内存只有512M/1G的vps下,内存、CPU、硬盘都不是太充裕。因此主要思路是,禁止吃内存大户innodb引擎,默认使用MyISAM。禁止吃硬盘大户log-bin,再调节一些参数到合适的数值。

[mysql]

# CLIENT #
port                             = 3306
socket                           = /var/run/mysqld/mysqld.sock

[mysqld]

# GENERAL #
user                             = mysql
default-storage-engine           = MyISAM
default-tmp-storage-engine       = MYISAM
socket                           = /var/run/mysqld/mysqld.sock
pid-file                         = /var/run/mysqld/mysqld.pid
bind-address                     = 127.0.0.1
lc-messages-dir                  = /usr/share/mysql/
skip-external-locking

# MyISAM #
key-buffer-size                  = 16M
myisam-recover                   = FORCE,BACKUP

# SAFETY #
max-allowed-packet               = 16M
max-connect-errors               = 256
skip-name-resolve
sysdate-is-now                   = 1

# DATA STORAGE #
datadir                          = /var/lib/mysql/

# CACHES AND LIMITS #
tmp-table-size                   = 32M
max-heap-table-size              = 32M
query-cache-type                 = 0
query-cache-size                 = 0
max-connections                  = 64
thread-stack                     = 192K
thread-cache-size                = 4
thread-concurrency               = 2
open-files-limit                 = 1028
table-definition-cache           = 256
table-open-cache                 = 64

# INNODB #
loose-skip-innodb
loose-innodb-trx                 = 0
loose-innodb-locks               = 0
loose-innodb-lock-waits          = 0
loose-innodb-cmp                 = 0
loose-innodb-cmp-per-index       = 0
loose-innodb-cmp-per-index-reset = 0
loose-innodb-cmp-reset           = 0
loose-innodb-cmpmem              = 0
loose-innodb-cmpmem-reset        = 0
loose-innodb-buffer-page         = 0
loose-innodb-buffer-page-lru     = 0
loose-innodb-buffer-pool-stats   = 0
loose-innodb-metrics             = 0
loose-innodb-ft-default-stopword = 0
loose-innodb-ft-inserted         = 0
loose-innodb-ft-deleted          = 0
loose-innodb-ft-being-deleted    = 0
loose-innodb-ft-config           = 0
loose-innodb-ft-index-cache      = 0
loose-innodb-ft-index-table      = 0
loose-innodb-sys-tables          = 0
loose-innodb-sys-tablestats      = 0
loose-innodb-sys-indexes         = 0
loose-innodb-sys-columns         = 0
loose-innodb-sys-fields          = 0
loose-innodb-sys-foreign         = 0
loose-innodb-sys-foreign-cols    = 0

# LOGGING #
log-error                        = /var/log/mysql/error.log
log-queries-not-using-indexes    = 0
long-query-time                  = 1
slow-query-log                   = 1
slow-query-log-file              = /var/log/mysql/slow.log

重启后mysql的内存占用大概为70M+,其中和内存关系较大的是key-buffer-size、tmp-table-size和thread-cache-size属性,作用分别为缓存MyISAM的索引、执行Group By之类语言时使用的临时表内存空间、查询线程。

配置的使用环境为percona server 5.6,其他版本的mysql没有测试。

时间: 2024-10-14 23:39:49

[原]分享一个低配VPS下运行的mysql配置文件的相关文章

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明爬虫在本人还没有发布完成的时候就抓走了我的文章,导致内容不完整,请去上述的原文链接查看原文**************** 由于最近经过朋友启发,又有了一个写个人项目的小想法,在这次个人项目中准备学习并使用一些之前自己没有掌握的新

【Node/JavaScript】论一个低配版Web实时通信库是如何实现的1( WebSocket篇)

引论 simple-socket是我写的一个"低配版"的Web实时通信工具(相对于Socket.io),在参考了相关源码和资料的基础上,实现了前后端实时互通的基本功能 选用了WebSocket ->server-sent-event -> AJAX轮询这三种方式做降级兼容,分为simple-socket-client和simple-socket-server两套代码, 并实现了最简化的API: 前后端各自通过connect事件触发,获取各自的socket对象 前端通过soc

分享一个MySQL分库分表备份脚本(原)

分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上时间方便整理 2.取数据库:抓取数据库名称,我用的awk和grep配合取数据库的名称(如果想按照表备份可以再细化一下)注意要用mysql -e选项 这样才能做成脚本 3.系统环境变量:因为用到了函数,所以非系统内置的命令 最好在脚本里面用 . /etc/profile  把系统当前的环境变量传过来

分享一个批量导出当前实例下的所有linkedserver脚本

原文:分享一个批量导出当前实例下的所有linkedserver脚本 分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linkedserver导出来,但是密码不会显示出来 下面脚本在SQL2008 R2下面测试通过 -- ============================================= -- Author: <桦仔> -- Blog

快到七夕了,分享一个C写的exe,可以直接点击运行的,效果看下图

原文:快到七夕了,分享一个C写的exe,可以直接点击运行的,效果看下图 源代码下载地址:http://www.zuidaima.com/share/1550463688690688.htm 不要玫瑰.不要礼物,程序员有程序员表达爱情的方式

【原创】大叔经验分享(82)logstash一个实例运行多个配置文件

logstash一个实例运行多个配置文件,将所有配置文件放到以下目录即可 /usr/share/logstash/pipeline 但是默认行为不是每个配置文件独立运行,而是作为一个整体,每个input会匹配所有的filter,然后匹配所有的output,可能会导致数据被错误的处理以及发送到错误的地方: 解决方法一: 在input中设置一个变量,在filter和output中判断该变量,实现每个配置文件独立运行,不会相互影响,使用哪个变量呢? input默认有很多通用参数,但是只有type可用,

【开源.NET】 分享一个前后端分离的轻量级内容管理框架

开发框架要考虑的面太多了:安全.稳定.性能.效率.扩展.整洁,还要经得起实践的考验,从零开发一个可用的框架,是很耗时费神的工作.网上很多开源的框架,为何还要自己开发?我是基于以下两点: 没找到合适的:安全.稳定.简单.易用.高效.免费: 想成为架构师: 于是就自己动手,参考网上开源的项目和借鉴网友的设计思路(特别是萧秦系列博文),结合自己的实践,开发了一个简单.易用.高效的的框架,虽然不完善,但也能解决现实中的问题.不过随着见识增广,发现没负责过千万级别的项目难以成为架构师,也不可能开发出一个完

Jenkins 结合 Docker 为 .NET Core 项目实现低配版的 CI&amp;CD

随着项目的不断增多,最开始单体项目手动执行 docker build 命令,手动发布项目就不再适用了.一两个项目可能还吃得消,10 多个项目每天让你构建一次还是够呛.即便你的项目少,每次花费在发布上面的时间累计起来都够你改几个 BUG 了. 所以我们需要自动化这个流程,让项目的发布和测试不再这么繁琐.在这里我使用了 Jenkins 作为基础的 CI/CD Pipeline 工具,关于 Jenkins 的具体介绍这里就不再赘述.在版本管理.构建项目.单元测试.集成测试.环境部署我分别使用到了 Go

Sublime Text3配置在可交互环境下运行python快捷键

安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好python代码,使用快捷键ctrl+b就可以运行了,会在当前窗口的下方出现运行的结果.比如 print("hello world!") 但是,要是使用了input这类需要交互的函数,ctrl+b运行就会出现错误 print("hello world!") x = input(&