บทความนี้จะแนะนำการแบ็กอัพฐานข้อมูลด้วยการเรียกใช้ mysqldump ช่วยในการส่งออกฐานข้อมูลเป็นไฟล์ sql เพื่อสำรองไว้กรณีฉุกเฉินครับ
ตอนนี้ก็กำลังศึกษาเรื่อง MySQL Replication เพื่อให้มีการแบ็กอัพแบบปัจจุบันทันด่วน จะได้ไม่ต้องเสียน้ำตาเวลาข้อมูลล่าสุดได้กลับมาแค่ข้อมูลเมื่อวันก่อน (โดนผู้ใช้งานบ่นหูชา)
หลังจากที่ทดสอบแล้วใช้ได้ดีทีเดียวครับ แต่ใช้จริงต้องปรับตำแหน่งเรียก mysqldump
C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump
เป็นตำแหน่งที่ถูกต้องของแต่ละเซิร์ฟเวอร์แต่ละเครื่อง
ทดสอบฐานข้อมูล 1GB ใช้เวลา 1 นาที
ส่วนผลข้างเคียงยังไม่ทราบครับ ว่ามีข้อจำกัดอะไรบ้าง
หรือทำให้ฐานข้อมูลทำงานได้ช้าลงในระหว่างที่ทำการเรียกใช้ mysqldump มากน้อยแค่ไหน
แต่ที่แน่ๆ เขาบอกว่าดีกว่า Batch file ตัวเดิมที่ผมใช้อยู่ (แบบเดิมคัดลอกไดเรกทอรี่ฐานข้อมูลทั้งดุ้น) เพราะต้องทำหลังจากที่ไม่มีการเรียกใช้งานแล้ว เพราะระหว่างคัดลอกข้อมูลจะต้องทำการล็อคตารางให้อ่านได้อย่างเดียว เพื่อให้ได้ข้อมูลที่ครบถ้วน
C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump
เป็นตำแหน่งที่ถูกต้องของแต่ละเซิร์ฟเวอร์แต่ละเครื่อง
@echo off
echo Running dump...
set MYDATABASE=xxxxxxx
set MYSQLUSER=root
set MYSQLPASS=xxxxxxx
set BACKUPFILE="F:\Backup\MySQL\%MYDATABASE%_%date:~10,4%-%date:~4,2%-%date:~7,2%_TIME.%time:~0,2%.%time:~3,2%.sql"
C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump -u%MYSQLUSER% -p%MYSQLPASS% --result-file=%BACKUPFILE% %MYDATABASE%
echo Done! %BACKUPFILE%
ทดสอบฐานข้อมูล 1GB ใช้เวลา 1 นาที
ส่วนผลข้างเคียงยังไม่ทราบครับ ว่ามีข้อจำกัดอะไรบ้าง
หรือทำให้ฐานข้อมูลทำงานได้ช้าลงในระหว่างที่ทำการเรียกใช้ mysqldump มากน้อยแค่ไหน
แต่ที่แน่ๆ เขาบอกว่าดีกว่า Batch file ตัวเดิมที่ผมใช้อยู่ (แบบเดิมคัดลอกไดเรกทอรี่ฐานข้อมูลทั้งดุ้น) เพราะต้องทำหลังจากที่ไม่มีการเรียกใช้งานแล้ว เพราะระหว่างคัดลอกข้อมูลจะต้องทำการล็อคตารางให้อ่านได้อย่างเดียว เพื่อให้ได้ข้อมูลที่ครบถ้วน
ตอนนี้ก็กำลังศึกษาเรื่อง MySQL Replication เพื่อให้มีการแบ็กอัพแบบปัจจุบันทันด่วน จะได้ไม่ต้องเสียน้ำตาเวลาข้อมูลล่าสุดได้กลับมาแค่ข้อมูลเมื่อวันก่อน (โดนผู้ใช้งานบ่นหูชา)
ความคิดเห็น
แสดงความคิดเห็น