如何配置Linux MariaDB的网络参数
导读: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.cnf 或 server.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 与服务器端一致,避免客户端默认端口不匹配
- bind-address:监听地址
- 示例(仅本地访问)
- [mysqld]
- bind-address = 127.0.0.1
- port = 3306
- [mysqld]
- 示例(监听所有地址)
- [mysqld]
- bind-address = 0.0.0.0
- port = 3306
- [mysqld]
- 修改后需重启服务生效(见下一节)。
二 常见网络场景与配置步骤
- 场景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.cnf 或 50-server.cnf)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何配置Linux MariaDB的网络参数
本文地址: https://pptw.com/jishu/775446.html
