กลยุทธ์การสำรองและกู้คืนฐานข้อมูล
ปกป้องข้อมูลด้วยการสำรองที่เชื่อถือได้ ดัมป์และกู้คืนฐานข้อมูล PostgreSQL กับ MySQL ทำให้การสำรองเป็นอัตโนมัติด้วย cron และทำความเข้าใจการกู้คืนไปยังจุดเวลาใดเวลาหนึ่ง เพื่อรับมือดิสก์เสียและความผิดพลาด
กลยุทธ์การสำรองและกู้คืนฐานข้อมูล เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
การสำรองข้อมูลเป็นส่วนหนึ่งของความปลอดภัย
คุณติดตั้งฐานข้อมูล จำกัดการเข้าถึง และรักษาความปลอดภัยของการเชื่อมต่อแล้ว แต่เซิร์ฟเวอร์ที่เสริมความแข็งแกร่งแล้วก็ยังเสี่ยงต่อดิสก์ขัดข้อง การใช้ DROP TABLE โดยไม่ตั้งใจ หรือแรนซัมแวร์
การสำรองข้อมูล คือแนวป้องกันด่านสุดท้าย ฐานข้อมูลจะปลอดภัยได้เท่ากับข้อมูลสำรองที่ผ่านการทดสอบล่าสุดเท่านั้น
การสำรองข้อมูลเชิงตรรกะเทียบกับเชิงกายภาพ
มีแนวทางหลักอยู่สองแบบ:
- เชิงตรรกะ — ส่งออกคำสั่ง SQL / ข้อมูล (เช่น
pg_dump,mysqldump) เคลื่อนย้ายได้ง่าย อ่านโดยมนุษย์ได้ แต่กู้คืนช้ากว่า - เชิงกายภาพ — คัดลอกไฟล์ข้อมูลดิบ กู้คืนได้รวดเร็วสำหรับฐานข้อมูลขนาดใหญ่ แต่ผูกกับรุ่นของเซิร์ฟเวอร์
การตั้งค่าส่วนใหญ่เริ่มต้นด้วยการสำรองข้อมูลเชิงตรรกะ
การถ่ายข้อมูลสำรองฐานข้อมูล PostgreSQL
pg_dump ส่งออกฐานข้อมูลเดียว รูปแบบกำหนดเอง (-Fc) มีการบีบอัดและรองรับการกู้คืนแบบเลือกบางส่วน
pg_dump -U appuser -Fc mydb > mydb_$(date +%F).dumpการกู้คืน PostgreSQL
กู้คืนข้อมูลสำรองรูปแบบกำหนดเองด้วย pg_restore สำหรับข้อมูลสำรอง SQL แบบข้อความธรรมดา ให้ส่งข้อมูลเข้า psql แทน
createdb -U appuser mydb_restored
pg_restore -U appuser -d mydb_restored mydb_2026-05-30.dumpการถ่ายและกู้คืนข้อมูลสำรอง MySQL
MySQL/MariaDB ใช้ mysqldump เพื่อส่งออก และใช้ mysql เพื่อนำเข้า ข้อมูลสำรองจะเป็น SQL แบบข้อความธรรมดาโดยค่าเริ่มต้น
mysqldump -u appuser -p mydb > mydb_$(date +%F).sql
mysql -u appuser -p mydb_restored < mydb_2026-05-30.sqlการสำรองฐานข้อมูลทั้งหมด
หากต้องการเก็บข้อมูลทั้งเซิร์ฟเวอร์ ระบบฐานข้อมูลทั้งสองแบบมีคำสั่งถ่ายข้อมูลสำรองทั้งคลัสเตอร์ ซึ่งมีประโยชน์ก่อนการอัปเกรดหรือการย้ายระบบครั้งใหญ่
pg_dumpall -U postgres > all_$(date +%F).sql
mysqldump -u root -p --all-databases > all_$(date +%F).sqlการทำงานอัตโนมัติด้วย Cron
ข้อมูลสำรองที่คุณต้องจำไว้ว่าจะต้องเรียกใช้ สุดท้ายก็จะถูกลืม ให้กำหนดเวลาเรียกใช้ด้วย cron ใส่คำสั่งถ่ายข้อมูลสำรองไว้ในสคริปต์ แล้วเรียกใช้ทุกคืน
# crontab -e -> run at 02:30 every day
30 2 * * * /usr/local/bin/db_backup.sh >> /var/log/db_backup.log 2>&1สคริปต์สำรองข้อมูลอย่างง่าย
สคริปต์ที่ดีจะประทับเวลาให้ไฟล์และลบไฟล์เก่า เพื่อไม่ให้ดิสก์เต็ม ตัวอย่างนี้จะเก็บข้อมูลสำรองไว้ 14 วัน
#!/bin/bash
DIR=/var/backups/db
pg_dump -U appuser -Fc mydb > $DIR/mydb_$(date +%F).dump
find $DIR -name 'mydb_*.dump' -mtime +14 -deleteพื้นที่จัดเก็บนอกสถานที่
ข้อมูลสำรองที่อยู่บนเซิร์ฟเวอร์เดียวกันจะสูญหายไปพร้อมกับเซิร์ฟเวอร์ คัดลอกข้อมูลสำรองไปไว้ที่อื่น — พื้นที่จัดเก็บออบเจ็กต์ โฮสต์อีกเครื่อง หรือทั้งสองแห่ง
ใช้ rsync หรือ CLI ของผู้ให้บริการคลาวด์เป็นขั้นตอนสุดท้ายของสคริปต์สำรองข้อมูล
rsync -avz /var/backups/db/ backup@remote:/srv/db_backups/
# or: aws s3 cp $DIR/mydb_$(date +%F).dump s3://my-bucket/การกู้คืน ณ จุดเวลา
ข้อมูลสำรองรายวันอาจทำให้ข้อมูลสูญหายได้ถึงหนึ่งวัน หากต้องการให้สูญเสียน้อยที่สุดหรือไม่สูญเสียเลย ให้เปิดใช้การเก็บถาวรอย่างต่อเนื่อง (การเก็บถาวร WAL ใน PostgreSQL และบันทึกไบนารีใน MySQL) เมื่อนำมารวมกับข้อมูลสำรองพื้นฐาน คุณจะสามารถกู้คืนไปยังเวลาใดก็ได้
นี่คือมาตรฐานสูงสุดสำหรับฐานข้อมูลที่ใช้งานจริง
แนวทางปฏิบัติที่ดีที่สุด
ทำให้ข้อมูลสำรองเชื่อถือได้:
- ทดสอบการกู้คืนเป็นประจำ — ข้อมูลสำรองที่ไม่เคยทดสอบก็เป็นเพียงการคาดเดา
- ทำงานสำรองข้อมูลและตรวจสอบงานเหล่านั้นโดยอัตโนมัติเพื่อตรวจหาความล้มเหลว
- จัดเก็บสำเนาไว้นอกสถานที่
- เก็บข้อมูลสำรองหลายรุ่น ไม่ใช่เฉพาะรุ่นล่าสุด
ตรวจสอบอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับการสำรองข้อมูลของคุณ
สรุปทบทวน
ขณะนี้คุณมีกลยุทธ์ปกป้องฐานข้อมูลแล้ว:
- ถ่ายข้อมูลสำรองเชิงตรรกะด้วย
pg_dump/mysqldumpและกู้คืนด้วยpg_restore/mysql - ถ่ายข้อมูลสำรองทั้งคลัสเตอร์สำหรับการย้ายระบบ
- สำรองข้อมูลโดยอัตโนมัติและลบข้อมูลเก่าด้วย cron
- จัดเก็บสำเนานอกสถานที่และกู้คืน ณ จุดเวลาเพื่อลดการสูญเสียข้อมูล
ทดสอบการกู้คืนของคุณเสมอ — ขั้นตอนนี้ทำให้การดำเนินงานฐานข้อมูลมีความปลอดภัยอย่างสมบูรณ์
เรียนรู้ Linux Server Deployment & SSH Mastery ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 12
- บทเรียน
- 48
คำถามที่พบบ่อย
บทเรียน “กลยุทธ์การสำรองและกู้คืนฐานข้อมูล” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กลยุทธ์การสำรองและกู้คืนฐานข้อมูล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กลยุทธ์การสำรองและกู้คืนฐานข้อมูล”
ปกป้องข้อมูลด้วยการสำรองที่เชื่อถือได้ ดัมป์และกู้คืนฐานข้อมูล PostgreSQL กับ MySQL ทำให้การสำรองเป็นอัตโนมัติด้วย cron และทำความเข้าใจการกู้คืนไปยังจุดเวลาใดเวลาหนึ่ง เพื่อรับมือดิสก์เสียและความผิดพ… คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “กลยุทธ์การสำรองและกู้คืนฐานข้อมูล” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การติดตั้ง PostgreSQL/MySQL
- ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง
- การรักษาความปลอดภัยการเชื่อมต่อฐานข้อมูล
- กลยุทธ์การสำรองและกู้คืนฐานข้อมูล