Binary log ใน Mysql คือไฟล์ log การทำงาน คำสังต่างๆ sql ต่่างๆ ที่ Mysql เก็บไว้ให้เรา เผื่อเวลาตารางมีปัญหา หรือ ต้องการทำ Replicate ก็จำเป็นต้องใช้งานไฟล์นี้ ในการกู้ข้อมูลคืน หรือ เทียบข้อความระหว่าง เครื่อง master และเครื่อง slave โดยไฟล์ Binary log จะถูกเก็ไว้ที่
/var/lib/mysql/
ตัวอย่างไฟล์
-rw-rw---- 1 mysql mysql 1073742109 Jan 11 06:25 mysql-bin.000098
-rw-rw---- 1 mysql mysql 1073742291 Jan 13 07:47 mysql-bin.000099
-rw-rw---- 1 mysql mysql 1073742096 Jan 15 11:45 mysql-bin.000100
-rw-rw---- 1 mysql mysql 1073741922 Jan 17 18:35 mysql-bin.000101
-rw-rw---- 1 mysql mysql 1073741885 Jan 20 10:24 mysql-bin.000102
-rw-rw---- 1 mysql mysql 1073742351 Jan 23 15:11 mysql-bin.000103
-rw-rw---- 1 mysql mysql 1073741948 Jan 26 13:40 mysql-bin.000104
-rw-rw---- 1 mysql mysql 1073742173 Jan 29 02:36 mysql-bin.000105
-rw-rw---- 1 mysql mysql 1073742232 Jan 31 15:54 mysql-bin.000106
-rw-rw---- 1 mysql mysql 1073741913 Feb 3 13:55 mysql-bin.000107
-rw-rw---- 1 mysql mysql 1073742305 Feb 6 12:28 mysql-bin.000108
จะเห็นว่าไฟล์ขนาดใหญ่ ระดับ GB ถ้าเราเก็บไว้จะเปลืองพื้นที่มาก แนะนำให้ลบออกเป็น ระยะ ด้วย วิธีแก้ mysql-bin.0000xx ทำพื้นที่เก็บข้อมูลของ Mysql เต็ม แต่ถ้าเครื่อง เราไม่ได้ทำ Replicate หรือ มี transaction เยอะมากๆ ไม่แนะนำให้เก็บ Binary log ไว้
วิธี config ไม่ให้ mysql เก็บ Binary log
ให้แก้ไขไฟล์
my.cnf แล้วเพิ่ม # ไว้หน้า log-bin=mysql-bin ดังตัวอย่าง
# log-bin=mysql-bin
เสร็จแล้ว Restart Mysql 1 ครั้ง ด้วยคำสั่ง
/etc/init.d/mysqld restar
เท่านี้ก็จะไม่เปลืองพื้นที่ในเครื่องแล้วครับ
- 14 มีนาคม 2560
เขียนโดย Mindphp