Tải một tệp cục bộ trong MySQL là một mối nguy hiểm về bảo mật và bị tắt theo mặc định, bạn nên tắt nó nếu có thể. Khi không được phép, bạn sẽ gặp lỗi này:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Giải pháp:
-
Sử dụng
--local-infile=1
đối số trên dòng lệnh mysql:Khi bạn khởi động MySQL trên thiết bị đầu cuối, hãy bao gồm
--local-infile=1
đối số, Một cái gì đó như thế này:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Sau đó, lệnh được cho phép:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Hoặc gửi tham số vào daemon mysql:
mysqld --local-infile=1
-
Hoặc đặt nó trong tệp my.cnf (Đây là một rủi ro bảo mật):
Tìm mysql
my.cnf
của bạn và chỉnh sửa nó dưới dạng thư mục gốc.Thêm
local-infile
dòng dưới ký hiệu mysqld và mysql:[mysqld] local-infile [mysql] local-infile
Lưu tệp, khởi động lại mysql. Hãy thử lại.
Bạn có thể tìm thêm thông tin tại đây: http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html