Linux Server Deployment & SSH Mastery · บทเรียน

กลยุทธ์การสำรองและกู้คืนฐานข้อมูล

ปกป้องข้อมูลด้วยการสำรองที่เชื่อถือได้ ดัมป์และกู้คืนฐานข้อมูล PostgreSQL กับ MySQL ทำให้การสำรองเป็นอัตโนมัติด้วย cron และทำความเข้าใจการกู้คืนไปยังจุดเวลาใดเวลาหนึ่ง เพื่อรับมือดิสก์เสียและความผิดพลาด

บทเรียน 4 จาก 413 ขั้นตอน

กลยุทธ์การสำรองและกู้คืนฐานข้อมูล เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การติดตั้ง PostgreSQL/MySQL
  2. ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง
  3. การรักษาความปลอดภัยการเชื่อมต่อฐานข้อมูล
  4. กลยุทธ์การสำรองและกู้คืนฐานข้อมูล
← กลับไปที่ Linux Server Deployment & SSH Mastery