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.cnfcủa bạn và chỉnh sửa nó dưới dạng thư mục gốc.Thêm
local-infiledòng dưới ký hiệu mysqld và mysql:[mysqld] local-infile [mysql] local-infileLư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: https:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html