LOAD DATA LOCAL INFILE ใช้ Import ข้อมูลจากไฟล์ Local เข้า Database ต้องเปิดตัวแปร local_infile
ตรวจสอบสถานะปัจจุบัน
mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | +---------------+-------+
เปิดใช้งาน (Runtime - หายเมื่อ Restart)
mysql> SET GLOBAL local_infile = ON; -- หรือ 1, TRUE Query OK, 0 rows affected (0.00 sec)
ตรวจสอบอีกครั้ง
mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+
ตั้งค่าคงที่ (my.cnf / my.ini) - คงอยู่หลัง Restart
[mysqld] local_infile = 1 [mysql] local_infile = 1
จากนั้น Restart MySQL Service
Client-side (โปรแกรมที่เชื่อมต่อ)
- MySQL CLI:
mysql --local-infile=1 -u root -p - MySQL Connector/J:
allowLoadLocalInfile=trueใน Connection URL - PyMySQL:
local_infile=Trueใน connect()
ความปลอดภัย: LOCAL INFILE อนุญาตให้ Client อ่านไฟล์บน Client Machine → Security Risk ควรเปิดเฉพาะเมื่อต้องใช้ และปิดหลัง Import เสร็จ