ดาต้าเบสล่ม เฉพาะ mysql ต้องแก้ยังไงฮะ?

เข้าเว็บปกติได้หมดนะฮะ แต่ถ้ามีการดึง db ของ mysql หน้าจะ error ฮะ ปัจจุบันแก้ปัญหาด้วยการ restart อยากทราบว่าควรแก้ที่จุดใดครับ?

ถามเผื่อผู้รู้ท่านอื่นๆ จะได้มีข้อมูลมาตอบครับ

error ว่ายังไง ครับ

[quote author=widebangkok link=topic=8858.msg85643#msg85643 date=1196482001]
เข้าเว็บปกติได้หมดนะฮะ แต่ถ้ามีการดึง db ของ mysql หน้าจะ error ฮะ ปัจจุบันแก้ปัญหาด้วยการ restart อยากทราบว่าควรแก้ที่จุดใดครับ?[/quote]

restart อะไรครับ เครื่อง หรือ service

เอา error มาดูดีกว่าครับ

บางทีก็แค่ repair table ก็หายครับ ไม่งั้นก็ restart service mysql ครับผม

อืม ลองดูว่าเกิดอะไรขึ้น

  1. start mysql ขึ้นไหม หรือไม่ขึ้น อาจต้องดูว่าพื้นที่ของ log file ของ mysql หรือพื้นที่ส่วน data มันเต็มไหม
  2. ดู log ของ mysql
    แล้วแต่ ลงแบบไหน
    เช่น ถ้าลงแบบที่ mysql recommend จะอยู่ที่ /usr/local/mysql/data/ชื่อโฮสต์.err
    หรือแบบ RH ,Centos /var/lib/mysql/data/ชื่อโฮสต์.err
  3. ถ้าเกิดมันสตาร์ทไม่มีปัญหา แต่สักพักก้อแฮงค์ ตรวจสอบ พื้นที่ของ var ,usr ที่บรรจุ data อาจเต็ม หรือเกิด lock table (myisam)
  4. ลองเก็บ slow query log
    ที่ my.cnf เพิ่ม
    log-slow-queries = /var/lib/mysql/myslow.log
    restart ใหม่
    ดูว่ามันฟ้องอะไร
  1. table ที่ฟ้องจาก slow query อาจจะเสีย ก้อ repair หรือจัดรูปแบบ query ใหม่
    หรืออาจเกิดจาก mem ไม่พอ หลายสาเหตุ ต้องวิเคราะห์ ด้วย mytop และจูน my.cnf อีกที
  2. bug ใน mysql เอง หรือตัว build จาก binary ไม่ stable เคยเจอมาสองที ลงใหม่ครับ ใช้วิธีที่แนะนำลงจาก source เลย