You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP新手求教:如何将GCE中的数据加载至Cloud SQL?

把GCE上的CSV导入Cloud SQL MySQL的可行方案

当然有办法啦!作为GCP新手,你可以通过以下几种实用方案把GCE上处理好的CSV文件导入Cloud SQL的MySQL实例:

方案一:通过Cloud SQL代理从GCE直接导入

这种方法适合想直接从GCE实例操作的场景,步骤如下:

  • 步骤1:在GCE实例上安装Cloud SQL代理
    登录你的GCE实例,执行以下命令下载并安装代理:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    chmod +x cloud_sql_proxy
    
  • 步骤2:配置GCE实例的权限
    确保你的GCE实例使用的服务账号拥有Cloud SQL Client角色(可以在IAM控制台里给服务账号添加这个角色)。
  • 步骤3:启动Cloud SQL代理
    用你的Cloud SQL实例连接名(格式:项目ID:区域:实例名)启动代理:
    ./cloud_sql_proxy -instances=你的实例连接名=tcp:3306 &
    
  • 步骤4:用MySQL命令导入CSV
    先连接到Cloud SQL的MySQL实例,然后执行LOAD DATA语句:
    LOAD DATA LOCAL INFILE '/path/to/你的文件.csv'
    INTO TABLE 你的数据库.你的表名
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 ROWS; -- 如果CSV有表头的话加上这行
    
    注意替换路径、数据库、表名,还有根据你的CSV格式调整分隔符等参数。

方案二:通过Cloud Storage中转导入(推荐大文件)

如果你的CSV文件比较大,用Cloud Storage中转更稳定,步骤如下:

  • 步骤1:把GCE上的CSV上传到Cloud Storage
    在GCE实例上执行gsutil命令复制文件:
    gsutil cp /path/to/你的文件.csv gs://你的存储桶名/目标路径/
    
  • 步骤2:给Cloud SQL服务账号添加权限
    找到Cloud SQL实例对应的服务账号(格式:service-项目编号@gcp-sa-cloudsql.iam.gserviceaccount.com),给它赋予Storage Object Viewer角色,这样它能读取Cloud Storage里的文件。
  • 步骤3:执行导入操作
    你可以通过Cloud Console操作,或者用gcloud命令:
    gcloud sql import csv 你的CloudSQL实例名 gs://你的存储桶名/目标路径/你的文件.csv \
      --database=你的数据库名 \
      --table=你的表名 \
      --fields-terminated-by=',' \
      --ignore-leading-row
    

方案三:直接用MySQL客户端远程导入(适合小文件)

如果CSV文件不大,你也可以在GCE实例上安装MySQL客户端,直接通过公网连接Cloud SQL实例(需要确保Cloud SQL实例的授权网络里添加了GCE实例的公网IP),然后用mysql命令或者客户端工具导入文件。

注意事项

  • 确保你的MySQL表结构和CSV文件的字段顺序、类型匹配,不然导入会报错。
  • 操作前最好先备份一下Cloud SQL实例,避免数据出错。
  • 如果遇到权限问题,检查一下服务账号的角色是否配置正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:35:20