Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เปิดใช้งาน LOAD DATA LOCAL INFILE ใน MySQL

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 เสร็จ