首页主机资讯CentOS MySQL网络配置建议

CentOS MySQL网络配置建议

时间2025-10-15 11:09:04发布访客分类主机资讯浏览1373
导读:CentOS MySQL网络配置建议 一、基础网络配置 1. 修改绑定IP(控制访问接口) MySQL默认通过bind-address参数绑定到127.0.0.1(仅本地访问),生产环境中应根据需求调整: 允许特定IP访问:若仅需特定服务...

CentOS MySQL网络配置建议

一、基础网络配置

1. 修改绑定IP(控制访问接口)

MySQL默认通过bind-address参数绑定到127.0.0.1(仅本地访问),生产环境中应根据需求调整:

  • 允许特定IP访问:若仅需特定服务器访问,将bind-address设置为该服务器IP(如192.168.1.100);
  • 允许所有IP访问:若需远程访问,设置为0.0.0.0(需配合防火墙限制IP范围,降低安全风险)。
    修改路径:/etc/my.cnf(或/etc/mysql/my.cnf),在[mysqld] section添加/修改bind-address,保存后重启MySQL服务(sudo systemctl restart mysqld)。

2. 配置防火墙(放行端口)

MySQL默认使用3306端口,需确保防火墙允许该端口通信:

  • firewalld配置(CentOS 7/8/Stream 9默认):
    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 永久添加端口
    sudo firewall-cmd --reload  # 重新加载配置
    
  • SELinux配置(若启用):需允许MySQL通过防火墙,执行:
    sudo setsebool -P mysql_connect_any 1  # 允许MySQL连接任何IP
    

验证端口是否监听:sudo netstat -tulnp | grep mysqld,应显示0.0.0.0:3306或指定IP的监听状态。

二、远程访问配置(可选但常见)

1. 授权远程用户

默认情况下,root用户仅能从localhost访问。若需远程访问:

  • 允许root远程登录(不推荐生产环境直接使用root):
    UPDATE mysql.user SET Host='%' WHERE User='root';
          -- 修改root用户Host为%
    FLUSH PRIVILEGES;
          -- 刷新权限
    
  • 创建专用远程用户(推荐):
    CREATE USER 'remote_admin'@'%' IDENTIFIED BY 'StrongPassword123!';
        
    GRANT ALL PRIVILEGES ON *.* TO 'remote_admin'@'%' WITH GRANT OPTION;
          -- 授权所有权限
    FLUSH PRIVILEGES;
        
    
    生产环境中,建议将%替换为具体IP段(如192.168.1.%),限制访问来源。

三、端口安全配置(避免冲突与风险)

1. 修改默认端口(可选)

若默认3306端口易受扫描攻击,可修改为其他端口(如3307):

  • 编辑/etc/my.cnf,在[mysqld] section添加/修改port=3307
  • 重启MySQL服务:sudo systemctl restart mysqld
  • 更新防火墙规则:sudo firewall-cmd --zone=public --add-port=3307/tcp --permanent & & sudo firewall-cmd --reload
  • 测试连接:mysql -u root -p -h < 服务器IP> -P 3307

四、性能与稳定性优化

1. 调整系统网络参数

修改/etc/sysctl.conf,优化网络连接性能:

net.core.somaxconn = 65536  # 监听队列最大长度(默认128,需增大避免连接拒绝)
net.ipv4.tcp_max_syn_backlog = 65536  # SYN队列最大长度
net.ipv4.tcp_fin_timeout = 10  # TCP连接超时时间(秒)
net.ipv4.tcp_tw_reuse = 1  # 允许复用TIME-WAIT状态的连接
net.core.rmem_max = 16777216  # 接收缓冲区最大大小
net.core.wmem_max = 16777216  # 发送缓冲区最大大小

应用配置:sudo sysctl -p

五、安全加固措施

1. 强制SSL加密(可选但推荐)

防止密码在网络中被窃听,要求用户使用SSL连接:

ALTER USER 'root'@'%' REQUIRE SSL;
      -- 强制root用户使用SSL

验证SSL状态:SHOW VARIABLES LIKE '%ssl%'; ,确保have_sslYES

2. 定期更新密码

定期修改MySQL用户密码(尤其是root),使用强密码策略(包含大小写字母、数字、特殊字符):

ALTER USER 'root'@'%' IDENTIFIED BY 'NewStrongPassword456!';
    

建议每3-6个月更换一次密码。

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


若转载请注明出处: CentOS MySQL网络配置建议
本文地址: https://pptw.com/jishu/726791.html
CentOS能否自定义Postman设置 CentOS上Postman启动失败原因

游客 回复需填写必要信息