Skip to main content

安装和保护 MariaDB

本指南说明如何在 VPS 上安装和安全配置 MariaDB。

先决条件

  • SSH root 或 sudo 访问权限
  • 最新的 Debian/Ubuntu 系统

安装

  1. 安装 MariaDB:

    sudo apt update
    sudo apt install mariadb-server
  2. 保护安装:

    sudo mysql_secure_installation

    按照安全步骤操作:

    • 按 Enter 输入 root 密码(默认为空)
    • 回答安全问题:
      • 更改 root 密码?[Y/n]:Y(推荐)
      • 删除匿名用户?[Y/n]:Y
      • 禁止 root 远程登录?[Y/n]:Y
      • 删除测试数据库?[Y/n]:Y
      • 重新加载权限表?[Y/n]:Y

用户配置

  1. 连接到 MariaDB:

    sudo mysql
  2. 创建新的管理员用户(替换 '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;

安装验证

  1. 使用新用户测试连接:

    mysql -u your_user -p
  2. 检查服务状态:

    sudo systemctl status mariadb

保护 MariaDB 端口

  1. 检查当前监听端口:

    sudo netstat -tlnp | grep mysql
  2. 配置防火墙(UFW):

    # 阻止默认访问 MySQL 端口 (3306)
    sudo ufw deny 3306

    # 如果您需要允许来自特定 IP 的远程访问
    sudo ufw allow from AUTHORIZED_IP to any port 3306
  3. 修改 MariaDB 配置文件:

    sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

    找到并修改这些行:

    # 仅限制监听 localhost
    bind-address = 127.0.0.1

    # 或指定特定 IP 地址
    # bind-address = YOUR_SERVER_IP
  4. 重启 MariaDB 以应用更改:

    sudo systemctl restart mariadb
  5. 检查授权连接:

    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