首页主机资讯如何配置Linux MariaDB的网络参数

如何配置Linux MariaDB的网络参数

时间2025-12-18 20:18:03发布访客分类主机资讯浏览731
导读:Linux MariaDB 网络参数配置指南 一 配置文件与关键参数 常见配置文件路径 RHEL/CentOS:/etc/my.cnf,并包含子目录 /etc/my.cnf.d/(常见如:mariadb-server.cnf 或 ser...

Linux MariaDB 网络参数配置指南

一 配置文件与关键参数

  • 常见配置文件路径
    • RHEL/CentOS/etc/my.cnf,并包含子目录 /etc/my.cnf.d/(常见如:mariadb-server.cnfserver.cnf
    • Ubuntu/Debian/etc/mysql/mariadb.conf.d/50-server.cnf
  • 常用网络参数(写入 [mysqld] 段)
    • bind-address:监听地址
      • 127.0.0.1(仅本机)
      • 0.0.0.0(所有 IPv4 地址)
      • ::(所有 IPv6/IPv4 地址)
      • 指定单个地址如 192.168.1.10
    • port:监听端口,默认 3306
    • skip-networking:设为 1 时完全禁用 TCP/IP 网络,仅本地套接字可用(不建议在需要远程访问时开启)
    • 建议同时确认客户端段 [client]port 与服务器端一致,避免客户端默认端口不匹配
  • 示例(仅本地访问)
    • [mysqld]
      • bind-address = 127.0.0.1
      • port = 3306
  • 示例(监听所有地址)
    • [mysqld]
      • bind-address = 0.0.0.0
      • port = 3306
  • 修改后需重启服务生效(见下一节)。

二 常见网络场景与配置步骤

  • 场景A 仅本地访问(最安全)
    • 配置:bind-address = 127.0.0.1;保持 port = 3306
    • 重启服务:systemctl restart mariadb
    • 验证:ss -lntp | grep 3306 应仅本机可连
  • 场景B 允许局域网/公网访问
    • 配置:bind-address = 0.0.0.0(或指定内网地址如 192.168.1.10);port = 3306
    • 创建远程用户并授权(示例:允许任意主机)
      • CREATE USER ‘remote’@‘%’ IDENTIFIED BY ‘StrongPass!’;
      • GRANT ALL PRIVILEGES ON dbname.* TO ‘remote’@‘%’ WITH GRANT OPTION;
      • FLUSH PRIVILEGES;
    • 防火墙放行
      • firewalld:firewall-cmd --permanent --add-port=3306/tcp & & firewall-cmd --reload
      • ufw:ufw allow 3306/tcp
    • 远程测试:mysql -h < 服务器IP> -u remote -p
  • 场景C 临时完全关闭网络(维护/安全加固)
    • 配置:skip-networking = 1
    • 重启服务:systemctl restart mariadb
    • 验证:ss -lntp | grep 3306 应无 3306 监听
  • 场景D 仅监听内网接口(推荐生产做法)
    • 配置:bind-address = 内网IP(如 192.168.1.10
    • 授权:CREATE USER ‘app’@‘192.168.1.%’ …
    • 防火墙:仅对内网网段放行 3306
  • 场景E 修改监听端口(避免与同机其他服务冲突)
    • 配置:port = 3307
    • 客户端连接:mysql -h -P 3307 -u user -p
    • 防火墙放行新端口并重启服务
  • 以上步骤涉及到的配置文件路径、bind-address 取值、远程用户授权与防火墙放行命令,均为各发行版通用做法,可按实际环境微调。

三 防火墙与安全加固要点

  • 防火墙
    • firewalld:firewall-cmd --permanent --add-port=3306/tcp & & firewall-cmd --reload
    • ufw:ufw allow 3306/tcp
    • 如修改端口,务必放行新端口并重启 MariaDB
  • 数据库账户
    • 避免使用 root@‘%’;按需创建最小权限的专用账户(如 app@‘192.168.1.%’)
    • 定期执行 mysql_secure_installation 清理匿名用户、限制 root 远程登录、删除 test 库
  • 监听策略
    • 生产环境优先使用 bind-address = 内网IP,而非 0.0.0.0
    • 不建议长期开启 skip-networking(会禁用 TCP/IP,影响远程管理)
  • 加密与合规
    • 对外网开放时,建议启用 TLS/SSL 加密传输(在 [mysqld] 配置 ssl_cert/ssl_key/ssl_ca 等参数)。

四 验证与排错

  • 监听与端口
    • ss -lntp | grep 3306(或 ss -lntp | grep < 自定义端口> )
    • 若配置了 bind-address,确认监听地址与配置一致
  • 本机连通性
    • mysql -h 127.0.0.1 -P 3306 -u root -p
  • 远程连通性
    • mysql -h < 服务器IP> -P 3306 -u -p
    • 若失败,依次排查:防火墙、bind-address、用户 Host 权限、网络路由与安全组
  • 配置文件生效
    • 修改 [mysqld] 参数后需重启:systemctl restart mariadb
    • 配置文件包含关系:主配置 /etc/my.cnf 常通过 !includedir /etc/my.cnf.d 引入子配置,确保修改的是被包含的实际文件(如 mariadb-server.cnf50-server.cnf)。

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


若转载请注明出处: 如何配置Linux MariaDB的网络参数
本文地址: https://pptw.com/jishu/775446.html
MariaDB在Linux上的备份恢复方法 Ubuntu时间戳为何存在

游客 回复需填写必要信息