ข้ามไปที่เนื้อหาหลัก

แบ็กอัพ MySQL ด้วยการสร้าง Batch File เรียก mysqldump ตามเวลาที่ตั้งไว้

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

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



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

การจะกำหนดเวลาแบ็กอัพนั้น ให้สร้างเป็นไฟล์ *.bat เพื่อเรียกใช้ในการสร้าง Schedule ของ Windows Server  (หากใช้ลีนุกซ์ก็คงจะใช้ cron job จะสะดวกกว่าด้วย 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 ไม่น่าจะมีปัญหา

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


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

ความคิดเห็น

PHP CI MANIA