gpt4 book ai didi

mysql - 启用 local-infile 以将数据从 rails 加载到远程 mysql

转载 作者:可可西里 更新时间:2023-11-01 06:31:25 27 4
gpt4 key购买 nike

我正在使用 connection_ninja ( https://github.com/cherring/connection_ninja ) 从我的 Rails 应用程序连接到远程 mysql 数据库。我的模型中有一个方法,它使用“加载数据本地 infile..”从运行我的 Rails 应用程序的服务器加载一个 csv 文件到远程 mysql 数据库。

代码如下:

class Product < ActiveRecord::Base
@conn = use_connection_ninja(:rl_op)
self.table_name = 'RlProduct'

def self.update(file_path)
sql = "LOAD DATA LOCAL INFILE '#{file_path}'
INTO TABLE RlProduct
FIELDS TERMINATED BY ',' ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
(name,price,productId)"

@conn.connection().execute(sql)
end
end

这给我以下错误:

Mysql2::Error: The used command is not allowed with this MySQL version: LOAD DATA LOCAL INFILE..

我在服务器运行的 /etc/mysql/my.cnf[mysql] 部分设置了 local-infile=1我的 Rails 应用程序。如果我直接登录到服务器上的 mysql 并在本地运行加载数据.. 命令,这允许我将数据导入远程数据库。

如何为我的 Rails 代码设置 local-infile=1?

最佳答案

将此添加到 database.yml:

local_infile: true

关于mysql - 启用 local-infile 以将数据从 rails 加载到远程 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com