Tag: Database

How to fix “Cannot load from mysql.proc. The table is probably corrupted”

ถ้าหากพบ error message เหมือนด้านล่างหลังจากที่ execute คำสั่งบน MySQL "Error: Cannot load from mysql.proc. The table is probably corrupted" สาเหตุเกิดจาก schema ของ mysql server เป็นคนละ version กับที่ใช้งานอยู่ในปัจจุบัน วิธีการแก้ไข ให้รันคำสั่ง mysql_upgrade เพื่อทำการ upgrade…

How to copy a table in MySQL

MySQL database เราสามารถ copy table (โครงสร้างและข้อมูลต่างๆ) ได้ด้วยง่ายๆ ดังนี้ สมมติต้องการสร้าง table ชื่อ table_new มาใหม่ โดยให้มีโครงสร้างและข้อมูลจาก table ชื่อ table_name สามารถทำได้ดังนี้ 1. Create copy table ใหม่ด้วยคำสั่ง

How to uses mysqldump to get structure or schema data only

โดยทั่วไปแล้วเราจะใช้ mysqldump ในการ export ข้อมูลของ database ออกมาซึ่งข้อมูลที่ export ออกมาจะมีทั้ง structure (schema) และข้อมูลของ database นั้นๆ แต่ถ้าหากต้องการ export เฉพาะ structure (schema) ของ database อย่างเดียวให้เพิ่ม option -d หรือ –no-data เข้าไปก็จะสามารถ export ออกมาแค่ structure…

How to remove/purge MySQL binary logs

MySQL ถ้าหากมีการเปิดใช้งาน binary log จะทำให้มีการเสียเนื้อที่บางส่วนไป ซึ่งถ้าหากไม่มีการกำหนดวันและเวลาในการ expire ของ binary log ดีๆแล้วจะทำให้มีโอกาสเกิดปัญหาเรื่องเนื้อที่ไม่พอใช้งานเกิดขึ้นอย่างแน่นอน ถ้าหากเกิดปัญหา binary log ใช้เนื้อที่ในการเก็บข้อมูลเยอะมาก และต้องการลบออกไปบางส่วนเพื่อให้มีเนื้อที่พอใช้งานจำเป็นต้องรันคำสั่งบน MySQL เท่านั้น ไม่สามารถรันคำสั่งลบจาก OS ได้เหมือนการลบไฟล์ทั่วไป ดังนั้นควรทำตามขั้นตอนการลบ binary log ดังนี้

Tips for speeding up dump and import data in MySQL

เมื่อต้อง import ข้อมูล SQL จำนวนมหาศาลเข้าไปยัง MySQL server โดยปกติแล้วจะใช้เวลาในการ import ค่อนข้างนาน แต่ก็สามารถช่วยเร่ง speed การ import ให้ไวมากขึ้นกว่าเดิมได้โดยใช้ tip เล็กๆ น้อยๆ ดังต่อไปในในการ import ข้อมูล SQL จำนวนมหาศาล ปิดการใช้งาน index ชั่วคราว (Disable index) การปิดการใช้งาน index…

Check MySQL database size using SQL query

SQL query สำหรับตรวจสอบเนื่อที่การใช้งานของ database และ table ต่างๆบน MySQL Check size of all database ตรวจสอบขนาดเนื่อที่ของแต่ละ database บน MySQL สามารถทำได้รันคำสั่งด้านล่าง

How to disable InnoDB storage engine on MySQL

โดย default แล้ว MySQL จะเปิดใช้งาน InnoDB storage engine อยู่แล้ว ดังนั้นถ้าหากไม่ต้องการใช้งาน InnoDB storage engine ก็ให้ปิดการใช้งานไปเลยเพื่อประหยัดทรัพยากรของระบบ โดยวิธีการปิดการใช้งาน InnoDB สามารถทำได้โดย

A Comparison of Pros and Cons between InnoDB and MyISAM

MySQL มี table storage engines อยู่ด้วยกันหลากหลาย แต่ที่นิยมใช้งานกันหลักๆ คือ InnoDB และ MyISAM ในบทความนี้ผมจะมาเปรียบเทียบข้อแตกต่างระหว่าง InnoDB และ MyISAM ในส่วนของ feature, ประสิทธิภาพการทำงาน และข้อดีข้อเสียต่างๆของ InnoDB และ MyISAM

NUMA Architecture and MySQL

NUMA เป็นสถาปัตยกรรมแบบใหม่สำหรับ multiple processor โดยแต่ละ processor (physical) จะมี memory ของตัวเอง ชุดหนึ่ง ซึ่งจะทำให้ processor สามารถเข้าถึง memory ได้รวดเร็วมากกว่าสถปัตยกรรมเก่า ระบบปฏิบัติการ Linux มีวิธีการจัดการกับ NUMA system อย่างไร จะมอง hardware ในระดับ physical layer เรียก processor ว่า…

How to streaming export and import MySQL database to other server

ใครเคย dump database พร้อม import database ข้ามเครืองบ้าง? ฟังดูแล้วเหมือนจะทำไม่ได้ แต่จริงๆแล้วสามารถทำได้และไม่มีอะไรสลับซับซ้อนเพียงแค่มีคำสั่ง nc (netcat) มาช่วยในการส่งข้อมูลแบบ streaming ไปยังเครื่องปลายทาง สำหรับการ streaming export and import MySQL database ไปยังเครื่องอื่นสามารถทำได้โดย รัน mysqldump ที่เครื่องต้นทาง และรัน mysql เพื่อ import ข้อมูลที่เครื่องปลายทาง…