Tuesday, October 18, 2022

MySQL Export query data มากๆ ด้วย outfile

  • ปกติเราใช้ MySQL Workbench เป็น client แต่เค้าให้ export result ได้ทีละ 1000 per page
  • มันมีตั้งหลายหน้าทำไง เลยถามผู้รู้พี่เค้าแนะนำใช้ select to outfile แต่ผลลัพธ์ที่เป็น ไฟล์ output มันจะอยู่ที่ db server ซะงั้น แต่ก็ยังดีกว่า  export ที่ละหน้าแหละ

Solved

SELECT t1.* from table into outfile '/tmp/tb.csv' fields enclosed by '"' terminated by ';' escaped by '"' lines terminated by '\r\n';

เพิ่มเติม

  • พาธที่มันจะสร้างไฟล์ csv  จะอยู่ที่เครื่องที่ database server นั้น
  • และต้องใช้ export ลง /tmp ด้วย เพราะถ้าระบุพาธอื่นๆ ที่เราต้องการ mysql user ไม่มี สิทธิ์เขียนไฟล์ประมาณนี้

ERROR 1 (HY000): Can't create/write to file

Ref

  • https://www.navisite.com/blog/mysql-error-1-hy000-cant-create-write-to-file/
  • https://www.educba.com/mysql-export-to-csv/
  • https://stackoverflow.com/questions/2867607/mysql-select-into-outfile-local

No comments:

Post a Comment