ฉันใช้ MYSQL 8 บน Focal
เวอร์ชัน 8.0.26-0ubuntu0.20.04.2 สำหรับ Linux บน x86_64 ((Ubuntu))
ฉันกำลังใช้ LOAD DATA INFILE ...
สิ่งนี้ใช้งานได้เมื่อฉันมีไฟล์ใน /var/lib/mysql-files ตามการตั้งค่า secure-file-priv
แต่เพื่อให้สิ่งนี้ใช้งานได้ฉันต้องเพิ่มสิทธิ์การอ่าน / เขียนโลกในโฟลเดอร์ mysql-files เพื่อให้สคริปต์ของฉันใส่ไฟล์ลงใน /var/lib/mysql
ทั้งหมดนี้ทำงานได้ดีจนกระทั่งมีการอัปเดตอัตโนมัติที่รีสตาร์ท mysqld จากนั้นสิทธิ์อนุญาตไฟล์ mysql เปลี่ยนกลับเป็น 700 และ LOAD DATA ของฉันหยุดทำงาน
คิดว่าฉันจะเปลี่ยน secure-file-priv เป็นโฟลเดอร์ภายใต้โฟลเดอร์ผู้ใช้ที่สคริปต์ทำงานอยู่
ฉันเปลี่ยน Secure-file-priv เป็นโฟลเดอร์ใหม่ รีสตาร์ท mysqld ตรวจสอบว่าตัวแปร secure-file-priv ได้รับการอัปเดตแล้ว ซึ่งก็คือ
ฉันได้ตรวจสอบด้วยว่าการเข้าถึงโฟลเดอร์และไฟล์นั้นเหมือนกันกับตอนที่ security-file-priv เป็น /var/lib/mysql-files และฉันยังคงได้รับข้อผิดพลาดการอนุญาต 13
ฉันรีบูทเซิร์ฟเวอร์ด้วย ปัญหาเดียวกัน
พยายามเปลี่ยน secure-file-priv เป็น /tmp ก็ไม่มีโชค ยังคงมีข้อผิดพลาดการอนุญาต 13
ฉันประสบความสำเร็จในการใช้ /var/lib/mysql-files เท่านั้น
มีใครรู้บ้างว่าทำไมฉันถึงใช้โฟลเดอร์อื่นไม่ได้? แม้ว่าโฟลเดอร์นั้นจะเป็น world r/w?
ขอบคุณ