วิธีการ Debug : MySQL Query Profiling บน Linux
วิธีการ Debug : MySQL Query Profiling บน Linux

วันนี้จะมาแนะนำวิธีการ Debug Query บน MySQL  หรือเรียกอีกอย่าง คือ Profiler นั่นเอง  ซึ่งการทำ Profiler นั้น มันมีประโยชน์อย่างมากเลยในการวิเคราะห็ Process/Query ที่ทำงานอยู่บน DataBase ในเวลานั้น  ทำให้เราสามารถรู้ปัญหาต่างๆ หรือเพื่อหาข้อผิดพลาดของ Program ที่เกิดขึ้นระหว่างการเชื่อมต่อ Application กับ Database

สำหรับ MySQL นั้น ในที่นี้เราสามารถทำบน Console Command Line ได้เลย  โดยก่อนอื่นให้ทำการเปิดใช้งาน profiler ก่อน
โดยจะต้องทำการ login เข้า MySQL สะก่อน

จากนั้นใช้คำสั่ง SET profiling = 1;

เมือเปิด profilling เรียบร้อยแล้ว  ให้ลองใช้ Command SQL เพือ Query ดูนะครับ
ในที่นี้ผมลองใช้คำสั่ง show databases; (ซึ่งเป็นการ list database ออกมา)
แต่การ Debug จริง การ Query ก็อาจจะเป็น SQL Query ของ Application

หลังจากนี้ เราสามารถ monitor หรือ debug query ได้เลย
ในที่นี้ผมจะลอง show profilers ที่เคยมีการ query ทั้งหมดออกมาดู
โดยใช้คำสั่ง show profiles;   (คำสั่งนี้จะเป็นการ list profiler ทั้งหมดออกมาก)

ถ้าหากต้องการทีจะดู Information จากการ Query  เราสามารถกำหนด Query ID ได้เช่นกัน
โดยใช้คำสั่ง  show profile for query 1; (ใส่ Query ID ที่ต้องการดู)


หลังจากที่ไม่ได้ใช้งาน Debug Query Profiler แล้ว ก็ควรจะปิดมันไว้ด้วย  โดยใช้คำสั่ง SET profiling = 0;

วิธีที่สอง
นอกจากการ set profiling ยังมีอีกวิธีในการ monitor query  นั่นก็คือ การอ่าน log นั่นเอง

ลองทำการ Enable log   โดยใช้คำสั่ง  SET GLOBAL general_log = ‘ON’

เราสามารถเข้าไปวิเคราะ Log จาก Folder data  (Installed path/data)

ถ้าต้องการปิดใช้งาน query log ก็สามารถใช้คำสั่ง SET GLOBAL general_log = ‘OFF’

ขอบคุณครับ
Admin@rockdevper

Facebook Comments
Share Button

Watchara Pongsri

Senior Software Developer, Network Engineer CEH, CHFI, ECSA, MCSA My hobby is - Blogger - Programming & Security Researcher

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle Plus

Related Post

วิธี Upgrade PHP บน MacOS Sierra ไปเป็น PHP versio...
views 1,753
บทความนี้จะมาแนะนำวิธีการ ติดตั้ง  PHP บน MacOS Sierra 10.12.1 ให้เป็น vesion ล่าสุด (ซึ่งตอนนี้ version ล่าสุดก็คือ PHP 7.1.X)  แต่หลังจากที่หลายๆ ท่...
มารู้จักวิธีการ Sync settings profile และ extensio...
views 2,750
หลายคนคงรู้จัก IDE ที่ชื่อ Visual studio code ของ Microsoft กันอยู่แล้ว  ชึ่งแน่นอนว่ามันเป็นที่ชื่นชอบคง developer หลายๆ คน รวมถึงผมด้วย  นอกจากมันจะ...
วิธีทำ Auto Mount Partition บน Linux หรือ Raspberr...
views 2,409
บทความนี้จะมาพูดถึงวิธีทำ auto mount สำหรับ Hard disk หรือ USB Drive บน Raspberry Pi หรือใช้กะ Linux ก็ได้เหมือนกัน โดยปรกติแล้วบน Raspberry เวลาเสีย...
วิธี Forward Port ร่วมกับ dynamic dns (No-ip) เพื่...
views 10,540
บทความนี้จะมาแนะนำวิธีการ Forward port เพื่อให้สามารถเข้าถึง Network ข้างในบ้าน ร่วมกับ dynamic dns อย่าง No-ip กัน โดยทั่วไปแล้ว ถ้ามีหากมี request ...
วิธีปรับแต่ง Terminal/Vim บน MacOS Sierra เพื่อให้...
views 1,707
หลังจากที่มาใช้ MacOS Sierra เหมือนผมจะมีปัญหากับปุ่ม Home/End สะเหลือเกิน  เนื่องจากบน Macbook มันจะไม่มีปุ่มดังกล่าวมาให้   ถ้าบน application อื่น เ...
มารู้จัก Sublist3r – Enumeration Tool เครื่อ...
views 1,580
Sublist3r เป็นเครืองมือในการค้นหารายละเอียดของ subdomains ที่เกี่ยวข้อง ภายใต้ เว็บไซต์เป้าหมาย  โดยการเก็บรายละเอียดนั้นจะอาศัย search engines อย่าง ...
วิธีเปิดใช้งาน Nginx ให้รองรับ HTTP/2 บน CentOS 7...
views 3,383
HTTP/2 หรือ (เดิมเรียกว่า HTTP/2.0) เป็นมาตรฐานใหม่ของ web protocol ซึ่งจะมาแทนที่ HTTP/1.1 ซึ่งออกมาตั้งแต่ 1997 (RFC 2068) และใช้อยู่จนถึงปัจจุบัน  ...
วิธีเปิดใช้งาน PHP 7 บน Vesta CP เพื่อใช้งานร่วมก...
views 5,037
ทุกวันนี้จะเห็นว่ามีคนหันมาใช้ VPS (Virtual Private Server) กันเยอะขึ้น  และคงจะรู้จักตัวจัดการ Hosting อย่าง Vesta CP กันมาบ้างแล้ว  ซึ่งเจ้า Vesta C...
วิธีเปิดใช้งาน mod_deflate (Compress ) บน Apache เ...
views 2,469
mod_deflate เป็น Module ของ web server ที่ใช้ในการบีบอัดขข้อมูล (Compress ) ให้มีขนาดเล็กลง ก่อนที่จะส่งไปให้ Client หลังจากฝั่ง Client (Browser) ได้ร...
วิธีปิดการให้บริการ SSLv3 บน Apache เพื่อป้องกันกา...
views 2,146
ที่ผ่านมาเราจะเคยได้ยินข่าว เกียวกับช่องโหว่ของ SSLv3 ซึ่งเป็น Protocol ที่ออกมาตั้งแต่ปี 1996 (เก่ามากๆ)  และเป็นช่องโหว่ที่ถือว่าร้ายแรงเหมือนกัน มี...
วิธีติดตั้ง Let’s encrypt SSL (Free SSL) บน CentOS...
views 6,251
SSL (Secure Sockets Layer) เป็นเครื่องหมายรับรองความปลอดภัยทางอิเล็กทรอนิกส์ ที่จะบอกว่าเว็บนั้นมีความปลอดภัยและน่าเชื่อถือ จะเห็นได้ว่าทุกวันนี้ หลาย...
มาเริ่มต้นเรียนรู้วิธีใช้งาน Raspberry Pi แบบ Step...
views 22,524
Raspberry Pi เป็น Single Bord หรือจะว่ามันเป็น Embedded pc ก็ได้  ในตอนนี้ ถือว่ามันเป็นบอร์ดที่ยอดฮิต ณ. ปัจจุบัน เนื่องจากมีขนาดเล็ก (เล็กเท่ากับ AT...
แก้ปัญหาเวลาเปิด Visual Studio แล้ว Error “A...
views 4,013
บทความนี้จะแนะนำวิธีแก้ปัญหาเวลาเปิด Project visual studio แล้ว Error ข้อความข้างบน ซึ่ง Error เกิดจากเครืองเรายังไม่ได้ทำการ register .NET Framew...
วิธีติดตั้ง PHP เพื่อใช้งานกับ IIS ผ่าน (FastCGI) ...
views 14,488
ภาษา PHP เป็นภาษาที่นิยมกันอย่างแพร่หลายในปัจจุบัน เนืองจากเป็น Open source (ฟรี), เขียนง่าย แล้วยังสามารถรันได้แทบทุกระบบปฏิบัติการ (Cross platform) ...
ถึงเวลาที่จะต้อง Upgrade PHP 5.X มาเป็น PHP 7 บน C...
views 4,547
บทความนี้จะขอกล่าวถึงขั้นตอนในการ upgrade PHP version เก่า ให้เป็น PHP v7 ซึ่งเป็น version ใหม่ ของปี 2015 ซึ่งเป็นของใหม่ อยู่ ณ. ตอนนี้ และตอนนี้ Se...
เปลี่ยนจาก Shared Hosting มาเป็น VPS – Digit...
views 3,852
ช่วงนี้มีเวลาว่างเหลือนิดหน่อย เลยจะกลับมาเขียนบทความอีกครั้ง หลังจากช่วงหลังๆที่ผ่านมา งานประจำก็ยุ่งๆ เหลือเกิน + ความขี้เกีขจของผมเอง ^ ^" เลยไม่ค่...