【发布时间】:2011-11-29 15:28:05
【问题描述】:
我正在 Ubuntu 机器上使用 MySQL v5.1 开发 Rails v2.3.2。
MySQL数据目录为/var/lib/mysql/
我有一个位于/var/lib/mysql/tmp/test.dat 的test.dat 文件
我想将 test.dat 文件中的数据加载到我的数据库表中,因此我在我的 rake 任务之一中执行以下 SQL 语句:
namespace :db do
task :do_something => :environment do
sql="LOAD DATA INFILE '/var/lib/mysql/tmp/test.dat'
INTO TABLE myapp.cars;"
ActiveRecord::Base.connection.execute(sql);
end
end
但我收到以下错误:
Mysql2::Error: Can't get stat of '/var/lib/mysql/tmp/test.dat' (Errcode: 2): LOAD DATA INFILE '/var/lib/mysql/tmp/test.dat'
可能是什么原因?
P.S.我想到一件事,/var/lib/mysql/ 只能由 root 用户访问,但我不确定是不是这个原因。
【问题讨论】:
标签: mysql ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 mysql-error-1064