[database][tips] แก้ไขโครงสร้าง หรือ backup ตารางขนาดยักษ์ยังไงให้ ตารางไม่ถูกล๊อค by

30
Nov
0

ถ้าเราใช้ mysql ธรรมดาๆคงไม่สามารถทำได้ ดังนั่นเราเลยต้องใช้ตัวช่วยกันหน่อยนั่นก็คือPercona นั่นเองครับ

วิธีใช้ก็ง่ายแสนง่าย ถ้า ปกติเราใช้คำสั่ง

ALTER TABLE table_name ADD column_name datatype

ก็ใช้ Percona แบบนี้

pt-online-schema-change --dry-run --alter "ADD column_name datatype" D=DATABASE,t=TABLE

จุดสังเกตุคือ เอา command ออกมานอก ” และ เอาชื่อ database กับ ชื่อตาราง มาใส่เป็น parameter ข้างหลัง โดยที่คำสั่ง dry-run นั้น คือคำสั่งที่ให้ทดลอง run ดูก่อนว่า syntax เราผิดรึเปล่า ถ้าไม่มีปัญหาอะไร ถ้าคำสั่งที่เราจะสั่งมีปัญหาอะไรมันจะพ่นมาบอก โดยที่ยังไม่เกิดผลลัพท์อะไรทั้งนั้น ทีนี้พอเรา run ด้วยคำสั่ง dry-run โดยที่ไม่มี error อะไรแล้ว ก็ให้แก้ dry-run ให้เป็น execute แบบนี้

pt-online-schema-change --execute --alter "ADD column_name datatype" D=DATABASE,t=TABLE

Credit

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post