BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: apisak ที่ กรกฎาคม 11, 2012, 14:41:05 PM

หัวข้อ: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: apisak ที่ กรกฎาคม 11, 2012, 14:41:05 PM
จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: manoi ที่ กรกฎาคม 11, 2012, 15:02:32 PM
ต้องเปิด replicate_log ดูครับ
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: d^_^b►►ทิว ที่ กรกฎาคม 11, 2012, 15:27:24 PM
ผมมีปัญหากับตาราง replicate_log ครับ เพราะ field SQL ชื่อ field มันไปตรงกับ คำสงวน ทำให้เขียนคำสั่งไม่ได้ครับ
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: manoi ที่ กรกฎาคม 11, 2012, 15:32:22 PM
เขียนแบบนี้ครับ

select * from replicate_log where `sql` like '%DELETE %'
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กรกฎาคม 11, 2012, 15:32:47 PM
เกรงว่า จะล้างผ่าน External Tool เช่น  Navicat  SQLlite  SQL Query Browser ครับ
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: manoi ที่ กรกฎาคม 11, 2012, 15:46:10 PM
ถ้าอยากดักแบบนี้ต้องไปเปิด general_log=ON ไว้ใน my.cnf  นะครับ
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: apisak ที่ กรกฎาคม 11, 2012, 16:59:29 PM
ถ้าอยากดักแบบนี้ต้องไปเปิด general_log=ON ไว้ใน my.cnf  นะครับ

แล้วจะดูที่ path ไหนครับ ใน os
หัวข้อ: Re: จะดู log ว่าใครสั้ง ล้างข้อในตารางได้จากที่ไหนครับ
เริ่มหัวข้อโดย: manoi ที่ กรกฎาคม 11, 2012, 17:04:53 PM
เปิดใช้งานแบบนี้ครับใน my.cnf

general_log=ON
log-output=TABLE

แล้วเวลาจะดู log ให้เปิดดูจากตาราง mysql.general_log ครับ

(เปิดแล้วทดสอบเสร็จแล้วอย่าลืมปิดนะครับ ตารางมันจะโตเร็วมาก)