[database][tips] แก้ไขโครงสร้าง หรือ backup ตารางขนาดยักษ์ยังไงให้ ตารางไม่ถูกล๊อค by tosawat
Nov0
ถ้าเราใช้ 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
Enjoy this article?
Consider subscribing to our RSS feed!
ไม่มีความเห็น
ยังไม่มีความเห็น