在 Debian Minimal 上安装数据库服务器的简明指南
以下给出在Debian Minimal环境中安装与初始化常见数据库服务器(MySQL 8.0、MariaDB、PostgreSQL 15)的步骤,覆盖更新源、安装、安全初始化、远程访问与防火墙要点。
一、通用准备
- 更新索引并安装常用工具(最小化系统通常未预装):
- sudo apt update && sudo apt install -y wget gnupg lsb-release
- 启动并自启服务、验证运行状态:
- sudo systemctl start && sudo systemctl enable
- sudo systemctl status (应显示 active (running))
- 防火墙放行(UFW 示例):
- MySQL/MariaDB:sudo ufw allow 3306/tcp
- PostgreSQL:sudo ufw allow 5432/tcp
- 安全建议:仅开放必要端口;避免使用弱口令;生产环境建议配置非 root专用账户与最小权限。
二、安装 MySQL 8.0
- 添加 MySQL APT 仓库并安装:
- wget https://repo.mysql.com//mysql-apt-config_0.8.20-1_all.deb
- sudo dpkg -i mysql-apt-config_0.8.20-1_all.deb(在弹窗中选择所需组件,OK 保存)
- sudo apt update && sudo apt install -y mysql-server
- 安全初始化与登录:
- sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止 root 远程等)
- mysql -u root -p
- 远程访问(可选,谨慎开启):
- 在 mysql> 中执行:
- CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘YourStrongPassword’;
- GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
- FLUSH PRIVILEGES;
- 编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,将 bind-address 改为 0.0.0.0,然后:
- sudo systemctl restart mysql
- 故障排查:查看错误日志 /var/log/mysql/error.log。
三、安装 MariaDB
- 安装与启动:
- sudo apt update && sudo apt install -y mariadb-server
- sudo systemctl start mariadb && sudo systemctl enable mariadb
- 安全初始化与登录:
- sudo mysql_secure_installation
- mysql -u root -p
- 远程访问(可选):
- 编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,设置 bind-address=0.0.0.0
- 在 mysql> 中创建远程用户并授权(同上),然后:
- sudo systemctl restart mariadb
- 防火墙放行 3306/tcp。
四、安装 PostgreSQL 15
- 安装(Debian 11/12 可直接用系统仓库;如需最新小版本可添加官方 PG 仓库):
- 系统仓库:sudo apt update && sudo apt install -y postgresql postgresql-contrib
- 或官方 PG 仓库(示例):
- sudo apt install -y software-properties-common
- echo “deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main” | sudo tee /etc/apt/sources.list.d/pgdg.list
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- sudo apt update && sudo apt install -y postgresql-15 postgresql-contrib-15
- 启动与登录:
- sudo systemctl start postgresql && sudo systemctl enable postgresql
- sudo -u postgres psql
- 创建数据库与用户:
- 在 psql> 中执行:
- CREATE USER admin WITH PASSWORD ‘YourStrongPassword’;
- CREATE DATABASE mydb OWNER admin;
- \q
- 远程访问(可选):
- 编辑 /etc/postgresql/15/main/postgresql.conf:listen_addresses = ‘0.0.0.0’
- 编辑 /etc/postgresql/15/main/pg_hba.conf,添加:
- host all all 0.0.0.0/0 scram-sha-256
- sudo systemctl restart postgresql
- 防火墙放行 5432/tcp。