温馨提示×

mysql在ubuntu上的网络配置是什么

小樊
33
2025-12-14 07:43:20
栏目: 云计算

MySQL 在 Ubuntu 的网络配置要点

一 配置文件与关键参数

  • 配置文件查找顺序可用命令查看:mysql --help | grep ‘Default options’,常见路径包括:/etc/mysql/my.cnf/etc/my.cnf~/.my.cnf。Ubuntu 上服务器主配置通常在:/etc/mysql/mysql.conf.d/mysqld.cnf(或旧版在 /etc/mysql/my.cnf)。关键网络参数位于 [mysqld] 段:
    • bind-address:监听地址;127.0.0.1 仅本机,0.0.0.0 监听所有地址,或指定内网 IP(如 192.168.1.100)。
    • port:监听端口,默认 3306
    • 其它常用项:datadir(数据目录,常见 /var/lib/mysql)、socket(套接字,常见 /var/run/mysqld/mysqld.sock)、character-set-servercollation-servermax_connectionsinnodb_buffer_pool_size。修改后需重启使生效。

二 本地与远程访问的推荐做法

  • 本地连接(默认):保持或设置 bind-address = 127.0.0.1,仅通过 localhost127.0.0.1 访问,使用 Unix 套接字或本地端口,安全性更高。
  • 远程连接(按需开启):
    • bind-address 设为 0.0.0.0(或指定服务器内网 IP),允许来自其他主机的连接。
    • 配置用户权限,至少创建一个可远程连接的账户(避免使用 root 远程):
      • 登录 MySQL:mysql -u root -p
      • 创建并授权(示例允许某网段):
        CREATE USER ‘remote_user’@‘192.168.1.%’ IDENTIFIED BY ‘StrongPass!’;
        GRANT ALL PRIVILEGES ON . TO ‘remote_user’@‘192.168.1.%’ WITH GRANT OPTION;
        FLUSH PRIVILEGES;
      • 如需从任意主机连接(安全性较低,仅测试或受控网络):将主机部分设为 ‘%’
    • 防火墙放行:如使用 ufw,执行:sudo ufw allow 3306/tcp;如使用云服务器,还需在安全组放行 3306/tcp
    • 重启服务:sudo systemctl restart mysql。完成后可用客户端测试:mysql -h <服务器IP> -u remote_user -p

三 常用命令与验证

  • 服务状态与启停:sudo systemctl status mysqlsudo systemctl start|restart mysql
  • 监听地址与端口验证:
    • 查看端口监听:sudo ss -tlnp | grep 3306(应看到 0.0.0.0:3306 或指定 IP 的监听)。
    • 本机 IP 获取:hostname -Iip addr show
  • 远程连通性测试(从客户端):mysql -h <服务器IP> -u <用户> -p,或使用 telnet <服务器IP> 3306 检查端口可达性。
  • 日志排查:MySQL 错误日志默认在 /var/log/mysql/error.log,配置或权限错误时可优先查看。

四 安全与最佳实践

  • 最小权限原则:为远程访问创建专用账户,按库/表/列授予所需权限,避免使用 root 远程登录。
  • 限制来源网段:优先使用 ‘user’@‘192.168.1.%’ 这类网段限制,而非 ‘%’
  • 加密传输:在公网或不可信网络中启用 SSL/TLS 加密连接。
  • 防火墙与云安全组:仅开放必要来源 IP 和端口 3306/tcp,并及时修补系统及 MySQL 漏洞。

0