การทำสำรองข้อมูลของฐานข้อมูลถือว่าเป็นงานที่สำคัญสำหรับผู้ดูแลระบบเครือข่ายที่จะ
ต้องรับผิดชอบในการรักษาข้อมูลของหน่วยงาน การสำรองข้อมูลของ MySQL นั้นจะมี
คำสั่งง่าย ๆ ในการ สำรองข้อมูลดังนี้
# mysqldump --host=10.0.1.10 --user=root --password=data123 engineer > engineer.sql
โดย ?host จะเป็นการระบุเครื่องที่เป็น database server ส่วน ?user จะระบุชื่อของ user
?password เป็นรหัสผ่าน ส่วนคำว่า engineer เป็นชื่อของฐานข้อมูลครับ สุดท้ายให้ส่งข้อมูล
ไปยังไฟล์ที่ชื่อ engineer.sql เราก็จะได้ไฟล์ที่เก็บ SQL ของฐานข้อมูลนั้น ๆ ในกรณีที่ต้องการ
backup ทุกฐานข้อมูลเลยก็ให้ใช้
# mysqldump --host=10.0.1.10 --user=root --password=data123 --all-databases > database.sql
เมื่อทำการ backup แล้ว ในส่วนของการ restore ให้ใช้คำสั่งดังนี้ครับ
# mysql --host=10.0.1.10 --user=root --password=data123 < database.sql
ในการทำสำรองข้อมูลนั้น บางครั้งมานั่งสั่งเองมันอาจจะไม่สะดวก มีโอกาสที่ผู้ดูแลเครือข่าย
อาจจะลืมสำรอง เราก็สามารถทำการเขียน script ให้ทำการสำรองข้อมูลโดยอัตโนมัติได้
โดยผมจะสร้างไฟล์ที่ชื่อ /backup/backup_sql สำหรับทำการสำรองข้อมูล โดยมี script ดังนี้
File : /backup/backup_sql rm /backup/x.sql -f mysqldump –host=10.0.1.10 –user=root –password=data123 –all-databases > /backup/x.sql if [ -f /backup/x.sql ] then rm /backup/database2.sql -f mv /backup/database1.sql /backup/database2.sql mv /backup/x.sql /backup/database1.sql fi exit 0
เมื่อสร้าง script เสร็จแล้วอย่าลืมกำหนด permission ให้สามารถรันได้ดังนี้ครับ
# chmod a+x /backup/backup_sql
จากนั้นไปเพิ่มในไฟล์ /etc/crontab เพื่อตั้งเวลาสำหรับเรียก script ดังนี้ครับ
File : /etc/crontab 20 3 * * * root /bin/sh /backup/backup_sql
สุดท้ายครับ สำหรับการ restore ฐานข้อมูลแบบทั้ง server นั้น มันจะทำการ update ตัว user
ด้วย ซึ่งเมื่อทำการ restore แล้วอย่าลืมเข้าตัว phpmyadmin แล้วทำการ reload the privileges
และตัว user ที่ชื่อ debian-sys-maint จะต้องตั้ง password ใหม่โดยให้ไปเอา password ของ user
ที่ชื่อ debian-sys-maint ได้จากไฟล์ /etc/mysql/debian.cnf เอาล่ะ แค่นี้งานดูแลฐานข้อมูลก็
เป็นเรื่องเด็ก ๆ แล้วครับ
Statistics