วิธีตั้งเวลา Backup MySQL อัตโนมัติ เพื่อสำรองข้อมูลไว้ใช้เมื่อต้องการเรียกคืนภายหลัง

ทดสอบแล้วใช้ได้ แต่ใช้จริงต้องปรับตำแหน่งเรียก mysqldump ที่ต่างกัน
OS : Windows Server

เช่นถ้าใช้ wamp เป็นตัวติดตั้งก็จะอยู่ที่
C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump

ถ้าติดตั้ง MySQL เพียวๆ ก็คงต้องหาตำแหน่งที่ถูกต้องของเซิร์ฟเวอร์แต่ละเวอร์ชั่น

เช่น C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump

การจะกำหนดเวลาแบ็กอัพนั้น Schedule ของ Windows Server ให้เรียกไฟล์ xxxxx.bat เพื่อทำงานตามเวลาที่กำหนด (หากใช้ลีนุกซ์ก็คงจะใช้ cronjob และจะสะดวกกว่าหากจัดการด้วย webmin)

@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 ก็ไม่น่าจะมีปัญหาอะไร เพราะลอง Import ทดสอบดูก็ผ่านฉลุย

แต่ที่แน่ๆ เขาบอกว่าดีกว่า Batch Script ตัวเดิมที่ผมใช้อยู่
(แบบเดิมคัดลอกไดเรกทอรี่ฐานข้อมูลทั้งดุ้น)

อยากรู้ว่า MySQL ที่ติดตั้งนั้นอยู่ที่ตำแหน่งใดในระบบปฏิบัติการที่ท่านใช้ลองอ่านดู
http://dev.mysql.com/doc/refman/5.0/en/option-files.html