如果服务器内存较低(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;
