2012-10-31 27 views
5

Ai biết cách bật tải cài đặt infile cục bộ trong MySQL mới nhất trên Ubuntu? Tôi chỉnh sửa các tập tin /etc/mysql/my.cnf và thêmtải infile địa phương không được phép perl mysql

local-infile=1 

Và trong các mã Perl

dbConnectString=dbi:mysql:orthomcl:mysqllocalinfile=1 

nhưng vẫn nhận được

DBD::mysql::st execute failed: The used command is not allowed with this MySQL version... 

Nó được sử dụng bởi một ứng dụng gọi là OrthoMCL

tôi đã cố gắng định cấu hình my.cnf tệp:

sudo vim /etc/mysql/my.cnf 

[mysqld] 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket   = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir   = /usr 
datadir   = /var/lib/mysql 
tmpdir   = /tmp 
lc-messages-dir = /usr/share/mysql 
skip-external-locking 
local-infile = 1 
[mysql] 
#no-auto-rehash # faster start of mysql but no tab completition 
local-infile = 1 

Sau đó khởi động lại máy chủ mysql:

sudo service mysql restart 
mysql stop/waiting 
mysql start/running, process 9563 

Nhưng sau đó tôi vẫn nhận được:

DBD::mysql::st execute failed: The used command is not allowed with this MySQL version at ../Apps/orthomclSoftware-v2.0.3/bin/orthomclLoadBlast line 39, <F> line 12. 
The used command is not allowed with this MySQL version at ../Apps/orthomclSoftware-v2.0.3/bin/orthomclLoadBlast line 39, <F> line 12.` 

Dòng 39 là:

$stmt->execute() or die DBI::errstr; 

mà thực thi các dòng trên :

my $sql = " 
LOAD DATA 
LOCAL INFILE \"$blastFile\" 
REPLACE INTO TABLE $sst 
FIELDS TERMINATED BY '\\t' 
"; 
my $stmt = $dbh->prepare($sql) or die DBI::errstr; 
+0

[Set tải INFILE] (http://stackoverflow.com/questions/10762239/enable- load-data-local-infile) Cập nhật các vấn đề phải đối mặt @Jasper – gks

+0

Tôi đã cập nhật bài đăng của mình ở trên và đã đề cập rằng tôi thực sự đã thử bài đăng đó theo nhiều cách nhưng không có cách nào hoạt động. – Jasper

+0

'dbConnectString' của bạn có định dạng lạ đối với tôi. Nó sẽ giống như 'dbi: DriverName: database_name' –

Trả lời

6
dbConnectString=dbi:mysql:orthomcl:mysql_local_infile=1:localhost:3306 

Tôi cũng được thêm vào trong mysql.cnf dưới

[client] 
     loose-local-infile=1 

làm việc cho tôi

+0

Giải quyết vấn đề của tôi với orthoMCL. Cảm ơn. – Morlock

+0

Việc thêm mysql_local_infile = 1 vào DBI DSN là đủ. –

Các vấn đề liên quan