使用Google Apps Script连接Google Sheets与MySQL数据库出现未知错误如何解决
问题根因与解决方法
Google Apps Script 是运行在 Google 云端服务器的服务,你代码中填写的 localhost 指向的是 Google 服务器的本地环境,而非你自己电脑/内网部署的 MySQL 服务,这是报错的最常见原因。
具体解决步骤如下:
- 第一步:将你的 MySQL 服务暴露到公网,或是迁移到支持公网访问的云数据库服务(如腾讯云CDB、阿里云RDS、Google Cloud SQL 等)
- 第二步:配置 MySQL 的访问权限:
- 放开你数据库服务器3306端口的入站规则,允许 Google Apps Script 的出口IP段访问,GAS的出口IP段可在Google云官方文档查询
- 给对应的IP段创建MySQL授权账号,参考授权语句:
GRANT ALL PRIVILEGES ON 你的库名.* TO '你的用户名'@'GAS对应出口IP' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES; - 第三步:修改代码中的
server参数为你数据库的公网IP或公网域名,可在JDBC链接后追加兼容参数避免时区、SSL相关的兼容问题,修改后的URL参考:var URL = "jdbc:mysql://" + 公网IP/域名 + ":" + port + "/" + schema + "?useSSL=false&serverTimezone=Asia/Shanghai";
额外排查项
- 如果是本地MySQL暴露公网,需要额外在路由器配置3306端口的转发规则,指向你运行MySQL的设备的内网IP,同时关闭本地设备防火墙对3306端口的入站限制
- 确认
username、password、schema参数的取值没有拼写错误
内容的提问来源于stack exchange,提问作者Pit13
相关产品推荐
相关产品推荐

