Tải dữ liệu nội bộ cục bộ không hoạt động php

Khi cố gắng tải dữ liệu tệp cục bộ vào bảng MySQL của bạn, bạn có thể thấy lỗi nói rằng The used command is not allowed with this MySQL version

Ví dụ: tôi muốn tải tệp infile.txt vào bảng có tên students với dữ liệu sau

Sarah   Math    9
Christ  English 7
Natalia Math    6

Khi tôi chạy câu lệnh

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
0, MySQL sẽ báo lỗi sau

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version

Lỗi này xảy ra do tải dữ liệu từ tệp cục bộ hiện đã bị tắt theo mặc định

Lưu ý rằng khi bạn cập nhật lên phiên bản MySQL mới nhất, thông báo lỗi có thể đã được thay đổi thành thông báo mô tả rõ hơn như sau

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 3948 (42000): Loading local data is disabled; 
this must be enabled on both the client and server sides

Cả hai lỗi có thể được giải quyết theo cùng một cách

Bạn cần cho phép tải tệp cục bộ bằng cách bật tính năng này từ cả phía máy khách và máy chủ. Hãy học cách làm điều đó tiếp theo

Cho phép tải dữ liệu cục bộ trên máy chủ và máy khách MySQL

Trước tiên, bạn cần kích hoạt tải dữ liệu cục bộ từ phía máy chủ bằng cách đặt giá trị biến toàn cục

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
1 thành
mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
2

Bạn có thể tìm biến bằng câu lệnh

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
3 như hình bên dưới

SHOW VARIABLES LIKE 'local_infile';

-- The response:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+

Trong trường hợp của mình, biến

mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
1 vẫn là
mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
5 nên mình cần sử dụng câu lệnh
mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
6 để biến nó thành
mysql> LOAD DATA LOCAL INFILE './infile.txt' INTO TABLE students;

ERROR 1148 (42000): The used command is not allowed with this MySQL version
2 như sau

Làm cách nào để tải dữ liệu infile cục bộ hoạt động?

Câu lệnh LOAD DATA INFILE đọc các hàng từ tệp văn bản vào bảng với tốc độ rất cao. Nếu từ khóa LOCAL được chỉ định, tệp sẽ được đọc từ máy khách. Nếu LOCAL không được chỉ định, tệp phải được đặt trên máy chủ .

Làm cách nào để sử dụng tệp tải dữ liệu cục bộ trong MySQL?

TẢI TẬP TIN DỮ LIỆU VÀO '/tmp/test. txt' INTO TABLE test BỎ QUA 1 DÒNG; . When you use SELECT ... INTO OUTFILE song song với LOAD DATA để ghi dữ liệu từ cơ sở dữ liệu vào tệp và sau đó đọc tệp trở lại cơ sở dữ liệu sau , trường và dòng .

Lỗi 1148 trong dữ liệu tải MySQL là gì?

Tại sao xảy ra Lỗi MySQL 1148? . ' Lệnh đã sử dụng không được phép với phiên bản MySQL này ' xảy ra khi nhập dữ liệu vào MySQL 8 mới nhất. 0 phiên bản. Nó xảy ra trong hầu hết các trường hợp nếu quá trình di chuyển đang chạy trên một máy khác nơi máy chủ MySQL đang chạy.

Tải dữ liệu nội bộ cục bộ là gì?

Ngược lại, khi bạn thực thi câu lệnh LOAD DATA LOCAL INFILE, máy khách sẽ cố gắng đọc tệp đầu vào từ hệ thống tệp của nó và gửi nội dung của tệp đầu vào tới . Điều này cho phép bạn tải các tệp từ hệ thống tệp cục bộ của máy khách vào cơ sở dữ liệu. . This allows you to load files from the client's local file system into the database.