首页主机资讯Debian MariaDB网络配置注意事项

Debian MariaDB网络配置注意事项

时间2025-11-19 22:16:04发布访客分类主机资讯浏览1185
导读:Debian 上部署 MariaDB 的网络配置要点 一 核心配置项 绑定地址与端口 配置文件通常位于:/etc/mysql/mariadb.conf.d/50-server.cnf(Debian 10/11 常见),或 /etc/my...

Debian 上部署 MariaDB 的网络配置要点

一 核心配置项

  • 绑定地址与端口
    • 配置文件通常位于:/etc/mysql/mariadb.conf.d/50-server.cnf(Debian 10/11 常见),或 /etc/mysql/mysql.conf.d/mysqld.cnf(部分环境)。在 [mysqld] 段设置:
      • 监听所有地址:bind-address = 0.0.0.0(IPv4),或设为 ::(IPv6);也可绑定到指定内网地址如 192.168.1.10 以缩小暴露面。
      • 端口:port = 3306;如需非默认端口,同步调整客户端与防火墙。
    • 注意:MariaDB 的 bind-address 仅支持单个值;若留空或注释,实际效果通常等同于监听 0.0.0.0/::。修改后重启服务生效。
  • 禁用跳过网络
    • 确保没有启用 skip-networking(该指令会让 MariaDB 只走本地 socket,导致 TCP 远程不可达)。
  • 协议与地址族
    • 同时需要 TCP/IP 监听;如使用 Unix socket,仅本机可连。若需双栈,可显式设置 bind-address = :: 并在系统启用 IPv6。

二 系统与云环境安全

  • 防火墙放行
    • UFW:sudo ufw allow 3306/tcp;生产环境建议仅对可信网段放行,如 sudo ufw allow from 192.168.1.0/24 to any port 3306
    • 云厂商安全组:在控制台放行 TCP 3306,并限制来源为应用服务器或办公网段。
  • 监听地址最小化
    • 优先绑定到内网地址(如 192.168.1.10)而非 0.0.0.0,仅开放必要来源 IP,减少攻击面。
  • 端口变更与策略
    • 若更改默认端口(如 33606),需同步更新防火墙与应用配置,并确保该端口未被其他安全策略拦截。

三 账户与权限

  • 认证插件与本地登录
    • Debian 包常见 root@localhost 使用 unix_socket 插件,允许本机免密 sudo 登录。若需密码远程登录,建议创建专用远程用户,或将 root 改为密码认证:
      • 查看插件:SELECT user, plugin FROM mysql.user;
      • 修改插件与密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘StrongPass!’; FLUSH PRIVILEGES;
  • 远程授权
    • 创建最小权限账户并限制来源网段:
      • CREATE USER ‘app’@‘192.168.1.%’ IDENTIFIED BY ‘StrongPass!’;
      • GRANT SELECT, INSERT, UPDATE, DELETE ON appdb. TO ‘app’@‘192.168.1.%’; FLUSH PRIVILEGES; *
    • 避免使用 ‘root’@‘%’ 这种过宽权限;必要时再细化到具体库表与主机。
  • 主机名通配
    • 使用 % 表示任意主机,但在生产环境应替换为明确的 CIDR 网段 或主机列表。

四 主从复制与内网互通

  • 监听与唯一性
    • 主从均需开启网络监听(禁用 skip-networking),并设置互不相同的 server_id(如主库 1,从库 2)。
  • 绑定与连通性
    • 推荐将 bind-address 设为主库/从库各自的内网 IP(如 192.168.1.10/11),并在对端服务器上用 mysql -h 对端IP -u repl -p 测试连通性。
  • 复制专用账户
    • 在主库创建复制用户并限定来源 IP:
      • GRANT REPLICATION SLAVE ON . TO ‘repl’@‘192.168.1.11’ IDENTIFIED BY ‘RepPass!’; FLUSH PRIVILEGES;
  • 防火墙与云安全组
    • 主从之间放通 3306/TCP,同样遵循最小暴露原则。

五 排错清单

  • 服务监听与配置
    • 确认监听地址与端口:ss -lntp | grep 3306;若未监听,检查 bind-address 与是否被其他配置文件覆盖。
  • 配置覆盖与查找
    • 搜索所有包含 bind-address 的文件:grep -rn “bind-address” /etc/mysql;确保生效的是你修改的那个文件。
  • 云与防火墙
    • 核对云安全组与系统防火墙是否放行 3306/TCP,以及来源网段是否正确。
  • 账户与来源
    • 确认用于连接的账户 host 字段与来源 IP 匹配(如 192.168.1.%),并已 FLUSH PRIVILEGES
  • 本地 socket 与 TCP 的区分
    • 若本机能连而远程不能,通常是未监听 TCP 或账户仅限 localhost;检查 bind-addressskip-networking 与用户 host 字段。
  • 错误提示
    • 常见 2002 - Can’t connect to server 多与监听地址、端口未放行或账户来源限制有关。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian MariaDB网络配置注意事项
本文地址: https://pptw.com/jishu/751643.html
Ubuntu Informix常用命令汇总 Debian MariaDB日志管理方法

游客 回复需填写必要信息