/ VPS相关 / 13浏览

1g内存服务器下的数据库内存调参

买的vps都是1g内存的,真的很憋屈,要是不修改数据库,随便一下都没存就能占用300m的样子,这样就是接近1/3的内存损失,不太能接受,就在网上搜罗了一下调整参数,自己对他修改,也是记录一下,给自己之后修改类似情况存个档。

文件修改路径为/etc/mysql/mysql.conf.d/mysqld.cnf。

[mysqld]
# 基本设置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# 内存和缓冲池设置
key_buffer_size=64M  # MyISAM索引缓冲大小
innodb_buffer_pool_size=64M  # InnoDB缓冲池大小

# 连接和线程设置
max_connections=120  # 最大连接数
thread_cache_size=20  # 线程缓存大小

# 查询缓存设置(已在MySQL 5.7中弃用)
# query_cache_type=1
# query_cache_size=2M

# 日志设置
log_error=/var/log/mysql/error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql-slow.log

# 其他优化
table_open_cache=64  # 表缓存大小
tmp_table_size=32M  # 临时表大小限制
max_heap_table_size=32M  # 内存表大小限制

# 针对小内存优化的参数
skip_name_resolve=1  # 禁用DNS解析
performance_schema=0  # 禁用性能模式

# InnoDB设置(如果不使用InnoDB可以考虑禁用)
innodb_log_file_size=32M
innodb_flush_log_at_trx_commit=32

# 日志记录设置
general_log=0
general_log_file=/var/log/mysql/mysql.log

# 安全性和其它设置
local-infile=0  # 禁用LOAD DATA LOCAL INFILE命令
secure-file-priv=/var/lib/mysql-files

[mysql]
no-auto-rehash

[mysqld_safe]
pid-file=/var/run/mysqld/mysqld.pid
更新于

0

  1. 感谢阅读

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注