You need to enable JavaScript to run this app. 如何在MySQL配置中添加指定IP段白名单以使用Google Apps Script
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL配置中添加指定IP段白名单以使用Google Apps Script

MySQL + Google Apps Script 连接白名单配置及实现步骤

1. 获取Google Apps Script JDBC出口IP范围

Google Apps Script调用JDBC连接外部数据库的出口IP属于Google公开的SPF地址段,可通过以下方式获取全量IP段:

  • 执行DNS查询命令:dig TXT _spf.google.com
  • 从返回结果中提取所有include对应的域(通常为_netblocks.google.com、_netblocks2.google.com、_netblocks3.google.com)
  • 分别解析上述三个域的TXT记录,获取所有CIDR格式的IP段,即为需要添加到白名单的全部地址

2. 添加MySQL白名单规则

云托管MySQL实例(阿里云RDS、腾讯云CDB、AWS RDS等)

  • 登录云厂商控制台,进入目标MySQL实例的配置页面
  • 找到「安全组/访问控制/白名单设置」入口
  • 逐个添加上一步获取的所有IP段,授权端口默认填3306,保存配置后等待生效即可

自建MySQL实例

  • 首先配置服务器防火墙:开放3306端口给上一步获取的所有IP段,根据服务器使用的防火墙工具(iptables、firewalld、安全组等)对应配置规则
  • 登录MySQL命令行,执行授权命令允许指定数据库用户从对应IP段访问:
    GRANT ALL PRIVILEGES ON 目标数据库名.* TO '你的数据库用户名'@'授权IP段' IDENTIFIED BY '你的数据库密码';
    FLUSH PRIVILEGES;
    
    逐行执行所有IP段的授权命令即可生效

3. 连接测试

在Google Apps Script编辑器中运行以下测试代码,验证连接是否正常:

function testMysqlConn() {
  const mysqlHost = '你的MySQL公网访问地址';
  const mysqlPort = 3306;
  const mysqlUser = '数据库用户名';
  const mysqlPwd = '数据库密码';
  const mysqlDb = '目标数据库名';
  const connUrl = `jdbc:mysql://${mysqlHost}:${mysqlPort}/${mysqlDb}?useSSL=false&serverTimezone=UTC`;

  try {
    const conn = Jdbc.getConnection(connUrl, mysqlUser, mysqlPwd);
    console.log('连接成功');
    conn.close();
  } catch (err) {
    console.error('连接失败:' + err.toString());
  }
}

注意事项

  • Google的IP段会不定期更新,建议每3个月重新解析一次SPF记录,更新白名单规则避免连接中断
  • 若无需公网暴露MySQL,可使用私有代理工具替代公网白名单配置,安全性更高

内容的提问来源于stack exchange,提问作者Iris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 08:24:02