Mysql 在云SQL中使用加载数据填充并选择到输出文件
我正在测试Google Cloud SQL,我必须测试指令Mysql 在云SQL中使用加载数据填充并选择到输出文件,mysql,google-cloud-sql,load-data-infile,select-into-outfile,Mysql,Google Cloud Sql,Load Data Infile,Select Into Outfile,我正在测试Google Cloud SQL,我必须测试指令加载数据填充和选择…到输出文件 我知道可以使用指令LOAD DATA LOCAL infle代替LOAD DATA infle,但它如何在云SQL中使用呢 指令可以按原样选择…进入输出文件吗 谢谢伦佐的回答,但当我尝试执行指令时,请选择。。当我连接到云SQL实例时,我收到以下错误消息: 第1行出现错误1045(28000):拒绝用户“root”@“%”的访问 我试着从连接到MySQL上的CloudSQL实例的计算机上使用指令LOAD DA
加载数据填充
和选择…到输出文件
我知道可以使用指令LOAD DATA LOCAL infle
代替LOAD DATA infle
,但它如何在云SQL中使用呢
指令可以按原样选择…进入输出文件吗
谢谢伦佐的回答,但当我尝试执行指令时,请选择。。当我连接到云SQL实例时,我收到以下错误消息:
第1行出现错误1045(28000):拒绝用户“root”@“%”的访问
我试着从连接到MySQL上的CloudSQL实例的计算机上使用指令LOAD DATA LOCAL INFLE,结果成功了。我使用计算机上的一个文件成功地将CSV数据导入到表中。但我想知道我是否可以使用桶中的文件来做同样的事情
我试图解释我需要做什么:
我们正在将我们的网站迁移到GCP应用程序引擎/云SQL。我们广泛使用这两个指令加载数据填充,从文件夹“ftp”中选择文件,将其加载到数据库中。此外,我们使用SELECT INTO OUTPILE将数据导出到CSV文件,并将其放入我们网站的文件夹中。所以我关心的是能够在appengine/cloudsql上使用相同的过程
区别在于网站实例和数据库实例在GCP上是分开的。我们是否应该使用GCP上的bucket替换我们的文件夹?还是应该改为在App Engine/Cloud SQL实例上创建文件夹?你认为最好的解决方案是什么
提前感谢根据关于
您还可以在mysql客户端中使用LOAD DATA LOCAL infle
语句,将本地文件加载到数据库中
您可以按照本文中的示例步骤,首先通过Cloud Shell连接到您的云SQL实例,启动mysql客户端。连接后,您将能够执行import语句:LOAD DATA LOCAL infle
同样的步骤也可用于导出,语法SELECT…INTO OUTFILE
可以按原样使用。连同其他备选方案,也可在以下网站上找到:
以CSV格式导出相当于运行以下SQL语句:
SELECT <query> INTO OUTFILE ... CHARACTER SET 'utf8mb4'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
ESCAPED BY '\\' LINES TERMINATED BY '\n'
选择到输出文件中。。。字符集“utf8mb4”
字段以“,”结尾,也可以用“\”括起
由'\\'行转义,以'\n'结尾
一旦您执行了这些操作,尤其是在长时间运行或发生错误时,建议您执行这些操作。我在连接到云SQL实例时尝试了选择到OUTFILE,但它不起作用,我收到错误“拒绝用户访问”“。由于我无法使用指令SELECT…INTO OUTFILE on Cloud SQL,我决定通过gcloud指令或谷歌API将文件复制到GCP bucket。关于加载数据本地填充,我决定将文件从GCP bucket复制到App Engine temp文件夹,然后使用加载数据本地填充将数据导入数据库。我想它应该能用,不过我需要测试一下。。。谢谢