April, 2016
Create Trigger in MySQL เพื่อเก็บ log
กรณี อนากรู้ว่า ในตารางมีการแก้ไขข้อมูลอะไรไปบ้าง เราสามารถ เก็บ log ได้โดยใช้ trigger ตาม link http://www.mysqltutorial.org/create-the-first-trigger-in-mysql.aspx
การลบ ข้อมูลในตาราง ออก 1 record กรณี มีข้อมูลซ้ำ กัน 2 record
สมมติว่า ข้อมูลสินค้า เดียวกัน มี 2 record ถ้าต้องการลบ ออก 1 record จะทำอย่างไร ? ผมใช้วิธีสร้าง temp tableขึ้นมา ตามตัวอย่าง ต้องหารหา ข้อมูลตาราง tbl1 ที่มีมากกว่า 1 record CREATE TEMPORARY TABLE tempx SELECT * FROM tbl1 GROUP BY age HAVING COUNT(*) > 1; แสดงข้อมูล ตารางtempx ที่สรา้งขึ้น select * from tempx; ลบข้อมูล จากตาราง tbl1 กรณี มี id ในตาราง tempx DELETE FROM tbl1 WHERE …
ค้นหา File type (นามสกุลไฟล์) ใน linux
วันนี้ server Shrae samba มีไฟล์ ไวรัส .exe ติดมา มีการสร้างไฟล์ .exe เป็นชื่อ Folder วิธีค้นหาใน Linux ดังนี้ 1. # find /data -type f -name “*.exe” ปรากฏว่า มีเยอะมากๆๆๆ ถ้าจะให้ลบทีละไฟล์คงไม่ไหว 2.วิธีลบให้ใช้คำสั่งดังนี้ # find /wwwroot/ -type f -name “*.exe” -exec rm -i {} \; แบบนี้คงไม่ไหวแน่ๆครับ ต้องคอยกด y ทุกไฟล์ เลยเปลี่ยน จาก -i เป็น -rf ดังนี้ครับ # find /wwwroot/ -type …
การลบ binary log ของ MySQL
MySQL ถ้าหากมีการเปิดใช้งาน binary log จะทำให้มีการเสียเนื้อที่บางส่วนไป ซึ่งถ้าหากไม่มีการกำหนดวันและเวลาในการ expire ของ binary log จะทำให้มีโอกาสเกิดปัญหาเรื่องเนื้อที่ไม่พอใช้งานเกิดขึ้นได้ หากเกิดปัญหา binary log ใช้เนื้อที่ในการเก็บข้อมูลเยอะมาก และต้องการลบออกไปบางส่วนเพื่อให้มีเนื้อที่พอใช้งานจำเป็นต้องรันคำสั่งบน MySQL เท่านั้น ไม่สามารถรันคำสั่งลบจาก OS ได้เหมือนการลบไฟล์ทั่วไป ดังนั้นควรทำตามขั้นตอนการลบ binary log ดังนี้ รันคำสั่งด้านล่างเพื่อแสดงข้อมูล binary log บนระบบ mysql> SHOW BINARY LOGS; +——————+————+ | Log_name | File_size | +——————+————+ | mysql-bin.000601 | 1073743595 | | mysql-bin.000602 | 1083142845 | | mysql-bin.000603 | 1073742373 | | mysql-bin.000604 …