คุณมีสองทางเลือก:
A. การใช้งาน --skip-lock-tables
ตัวเลือก mysqldump ตารางของคุณจะไม่ถูกล็อค แต่การสำรองข้อมูลของคุณอาจไม่สอดคล้องกัน (ขึ้นอยู่กับสคีมาของคุณ: หากทรานแซคชันฐานข้อมูลของคุณแตะหลายตารางพร้อมกันและตารางหนึ่งสำรองแล้ว และคำสั่งซื้อหากลูกค้าสำรองไว้ก่อนจากนั้นจึงใส่คู่ลูกค้า / คำสั่งซื้อใหม่คุณอาจท้ายด้วยคำสั่งซื้อโดยไม่มีลูกค้าในการสำรองข้อมูลของคุณ)
ปัญหานี้เป็นเหตุผลหลักว่าทำไม mysqldump ล็อคตารางทั้งหมดโดยค่าเริ่มต้น หากปัญหานี้ใช้ไม่ได้กับคุณการข้ามการล็อกตารางใน mysql เป็นวิธีที่ง่ายที่สุด
B. ใช้วิธีการสำรองข้อมูลอื่น ๆ ตัวอย่างเช่น: ล้างตารางที่มีการล็อกการอ่านสร้างสแนปชอต LVM ปลดล็อกตารางเมานต์สแน็ปช็อต LVM ของคุณและสำรองข้อมูลของคุณ สิ่งนี้จะซับซ้อนและรวดเร็วกว่า mysqldump ธรรมดามาก Google "mysql backups พร้อม LVM snapshots" มีสคริปต์และแบบฝึกหัดมากมาย
หากข้อมูล MySQL ของคุณไม่ได้อยู่ในระดับเสียงของ LVM คุณสามารถสร้างเซิร์ฟเวอร์ MySQL ทาสและสำรองข้อมูลโดยไม่ต้องสัมผัสกับต้นแบบดังนั้นการล็อคจะเกิดขึ้นบนตัวทาสและตัวหลักนั้นฟรี