在服务器上安装、初始化并加固 MySQL / MariaDB

用 apt 装好数据库、设好开机自启,再用 `mysql_secure_installation` 完成 root 密码、匿名账号与远程 root 的安全收口。

在你的服务器 / VPS 上自建数据库时,MySQL 和 MariaDB 是最常见的两个选择。MariaDB 是 MySQL 的社区分支,命令与用法基本一致,你可以按需二选一。下面以 Ubuntu / Debian 为主给出可照做的步骤。

安装数据库

先更新软件源,再安装其中一个(不要同时装两个,会冲突):

sudo apt update
sudo apt install -y mysql-server     # 安装 MySQL
# 或者:
sudo apt install -y mariadb-server   # 安装 MariaDB

CentOS / Rocky 使用 dnf:

sudo dnf install -y mariadb-server

启动服务并设置开机自启

安装后确认服务已运行,并让它随系统自启(MySQL 的服务名是 mysql,MariaDB 是 mariadb):

sudo systemctl enable --now mariadb
sudo systemctl status mariadb

看到 active (running) 即表示启动成功。enable --now 会同时启动服务并开启开机自启。

安全加固

新装的数据库默认较为宽松,务必运行官方加固脚本:

sudo mysql_secure_installation

脚本会按顺序询问几件事,建议这样回答:

  • 设置 root 密码:设一个强密码(MySQL 8 可能先问是否启用密码强度校验组件,按需选择)。
  • 删除匿名用户:选 Y,匿名账号是常见的入侵入口。
  • 禁止 root 远程登录:选 Y,root 只允许从本机连接。
  • 删除 test 测试库:选 Y。
  • 立即重载权限表:选 Y 使改动生效。

关于远程访问

数据库默认只监听本机 127.0.0.1,通常也建议保持这样,让应用与数据库同机、或走内网连接。若确需远程访问,请改配置文件的 bind-address、只开放给可信 IP,并在防火墙(如 ufw)上放行 3306 端口,切勿把数据库直接裸露在公网。

首次登录验证

用 root 登录,输入刚设置的密码:

sudo mysql -u root -p

进入 mysql> 提示符后,验证并做基础检查:

SELECT VERSION();
SHOW DATABASES;

日常使用建议为每个应用单独建库和账号,而不是直接用 root:

CREATE DATABASE appdb CHARACTER SET utf8mb4;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;

输入 exit; 退出。

小结

安装数据库的核心四步:apt install 装好、systemctl enable --now 启动并自启、mysqlsecureinstallation 收紧安全、再建专用库和账号供应用使用。牢记两条底线——root 密码要强、数据库不裸露公网,你的数据服务就有了稳妥的起点。