安装和保护 MariaDB
本指南说明如何在 VPS 上安装和安全配置 MariaDB。
先决条件
- SSH root 或 sudo 访问权限
- 最新的 Debian/Ubuntu 系统
安装
-
安装 MariaDB:
sudo apt update
sudo apt install mariadb-server -
保护安装:
sudo mysql_secure_installation按照安全步骤操作:
- 按 Enter 输入 root 密码(默认为空)
- 回答安全问题:
- 更改 root 密码?[Y/n]:
Y(推荐) - 删除匿名用户?[Y/n]:
Y - 禁止 root 远程登录?[Y/n]:
Y - 删除测试数据库?[Y/n]:
Y - 重新加载权限表?[Y/n]:
Y
- 更改 root 密码?[Y/n]:
用户配置
-
连接到 MariaDB:
sudo mysql -
创建新的管理员用户(替换 'your_user' 和 'your_password'):
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
安装验证
-
使用新用户测试连接:
mysql -u your_user -p -
检查服务状态:
sudo systemctl status mariadb
保护 MariaDB 端口
-
检查当前监听端口:
sudo netstat -tlnp | grep mysql -
配置防火墙(UFW):
# 阻止默认访问 MySQL 端口 (3306)
sudo ufw deny 3306
# 如果您需要允许来自特定 IP 的远程访问
sudo ufw allow from AUTHORIZED_IP to any port 3306 -
修改 MariaDB 配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf找到并修改这些行:
# 仅限制监听 localhost
bind-address = 127.0.0.1
# 或指定特定 IP 地址
# bind-address = YOUR_SERVER_IP -
重启 MariaDB 以应用更改:
sudo systemctl restart mariadb -
检查授权连接:
mysql -u root -p
SELECT user, host FROM mysql.user;
安全最佳实践
- 使用强密码
- 限制数据库访问
- 执行定期备份
- 定期更新 MariaDB
- 将连接限制为受信任的 IP
- 定期监控连接尝试
故障排除
- 检查日志:
sudo tail -f /var/log/mysql/error.log - 验证服务是否处 于活动状态:
sudo systemctl status mariadb - 确保端口已打开:
sudo netstat -tulpn | grep mysql