Ubuntu 24.04 低内存(1GB)配置 MariaDB 11.8 的方法

2026-01-13 05:04

如果服务器内存较低(1GB),建议选用 MariaDB 而非 MySQL。MariaDB 比 MySQL 更节省内存。

调整操作系统限制

修改 vim /etc/security/limits.conf,增加以下配置:

mysql soft nofile 65535
mysql hard nofile 65535

安装 MariaDB

sudo apt install mariadb-server

修改配置

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mariadbd]
# --- 基础网络设置 ---
# 因为是独立数据库服务器,必须允许远程 Web 服务器连接
#bind-address            = 127.0.0.1
bind-address            = 0.0.0.0

# --- 核心内存分配 (针对 1GB VM) ---
# 11.8 引擎优化较好,512M 是一个非常稳健的平衡点
innodb_buffer_pool_size         = 512M
# 适当调大日志文件,减少小内存环境下的磁盘 I/O 频繁抖动
innodb_log_file_size            = 128M
# 限制并发连接,防止每个连接开辟的私有内存溢出
max_connections                 = 100
# MyISAM 索引缓存,保持小额分配即可
key_buffer_size                 = 32M

# --- 11.8 版本深度瘦身 (保命项) ---
# 强制关闭性能统计,可节省约 80MB-120MB 物理内存
performance_schema              = OFF

# --- 性能与稳定性优化 ---
# 设为 2 可在掉电时保证最多丢失 1 秒数据,但大幅提升 1GB 环境下的写入速度
innodb_flush_log_at_trx_commit  = 2
# 针对 11.8 建议显式设置临时表大小,防止复杂 SQL 撑爆内存
tmp_table_size                  = 32M
max_heap_table_size             = 32M

自启动

# 设置开机自动启动
sudo systemctl enable mariadb
# 查看 MariaDB 服务
sudo systemctl status mariadb
# 启动 MariaDB 服务
sudo systemctl start mariadb
# 停止 MariaDB 服务
sudo systemctl stop mariadb
# 重启 MariaDB 服务
sudo systemctl restart mariadb

数据库登录

# 登录数据库
sudo mariadb
-- 1. 切换到 mysql 数据库
USE mysql;

-- 2. 设置 root 密码并将认证方式从 unix_socket 改为密码认证
-- 请将 'YourStrongPassword' 替换为你想要设置的真实密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword';

-- 3. 授予 root 远程登录权限(从任何 IP 登录,或指定 Web 服务器 IP)
-- 如果为了安全,建议将 '%' 替换为你的 Web 服务器私网 IP
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YourStrongPassword' WITH GRANT OPTION;

-- 4. 刷新权限
FLUSH PRIVILEGES;
EXIT;
0791-85271700
QQ咨询:1779755751
QQ交流群:626599871
微信咨询
微信扫码咨询
微信交流群
微信交流群
Powered by UJCMS © 2010-2026 All Rights Reserved
QQ咨询
电话
微信
微信扫码咨询