Ubuntu Minimal数据库服务器安装指南,一文看懂

一、前置准备
- 以具有 sudo 权限的账号通过 SSH 登录服务器。
- 更新索引并(可选)升级系统:
- sudo apt update
- sudo apt upgrade -y
- 确认系统版本(常见为 20.04/22.04/24.04),后续软件包名称与路径可能随版本略有差异。
二、选择并安装数据库
- 方案对比与命令一览
- 以上命令覆盖了在 Ubuntu Minimal 上安装与启动 MySQL、PostgreSQL 以及轻量的 SQLite 的最小路径;MySQL 可使用 --no-install-recommends 做极简安装,PostgreSQL 建议同时安装 contrib 扩展包。
三、验证与基础安全
- 验证服务状态
- MySQL:sudo systemctl status mysql
- PostgreSQL:sudo systemctl status postgresql
- 基础安全建议
- MySQL:运行 sudo mysql_secure_installation,按提示设置强密码、删除匿名用户、禁止 root 远程登录、移除测试库等。
- PostgreSQL:默认仅本地访问;如需远程,请仅开放必要 IP 并使用强口令或证书认证,避免直接使用 postgres 超级用户远程连接。
四、远程访问与防火墙(视情况开启)
- MySQL
- 配置:编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,注释或改为 bind-address = 0.0.0.0;重启服务。
- 账户与授权:CREATE USER ‘用户名’@‘%’ IDENTIFIED BY ‘密码’; GRANT ALL PRIVILEGES ON . TO ‘用户名’@‘%’ WITH GRANT OPTION; FLUSH PRIVILEGES;
- 防火墙:sudo ufw allow 3306/tcp
- PostgreSQL
- 配置:/etc/postgresql/15/main/postgresql.conf 中设置 listen_addresses = ‘*’;/etc/postgresql/15/main/pg_hba.conf 添加 host all all 0.0.0.0/0 scram-sha-256;重启服务。
- 防火墙:sudo ufw allow 5432/tcp
- 风险提示:开放到 0.0.0.0/0 会暴露数据库到公网,务必配合强密码/证书、最小权限与网络 ACL。
五、常见问题与快速排查
- 忘记 root 密码
- MySQL:sudo systemctl stop mysql;sudo mysqld_safe --skip-grant-tables &;mysql -u root;执行 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’; 重启服务。
- 连接被拒绝或超时
- 核对服务是否运行(systemctl status)、监听地址与端口(bind-address、防火墙)、以及认证方式(pg_hba.conf 或 MySQL 用户主机限制)。
- 安装失败或启动异常
- 查看日志定位:MySQL 常见 /var/log/mysql/error.log;PostgreSQL 常见 /var/log/postgresql/postgresql-版本-main.log。