Thứ Tư, 1 tháng 7, 2026

Backup database đúng cách trước khi "toang" (Vì sao chỉ một cú bấm nhầm có thể khiến bạn ngồi... viết lại dữ liệu cả tuần?)

Chúng ta có lẽ ai cũng biết câu: "Mất bò mới lo làm chuồng". Nếu có một việc mà gần như lập trình viên nào cũng từng hối hận vì không làm sớm.

Thì đó là...

Backup database.

😅

Ai cũng nghĩ:

"Website nhỏ thôi."

"Mai backup cũng được."

"Có gì đâu mà mất."

...

Rồi một ngày đẹp trời.

Bạn bấm nhầm.

DELETE.

DROP.

Import nhầm file.

Hosting lỗi.

Hack.

Hoặc đơn giản là...

Chính bạn xóa mất dữ liệu.

😭

Lúc đó mới bắt đầu Google:

"Khôi phục database MySQL"

"Undo phpMyAdmin"

"Recover deleted table"

...

Đáng tiếc.

Đa số trường hợp.

Đã mất là mất luôn.

😢


Backup database là gì?

Backup database là quá trình tạo một bản sao dữ liệu của MySQL để có thể phục hồi khi xảy ra sự cố.

Bản backup thường được lưu dưới dạng file .sql.

Khi cần, bạn chỉ việc import file đó trở lại database.


Ví dụ đời thường 🚗

Bạn vừa mua một chiếc điện thoại mới.

Điều đầu tiên bạn làm là gì?

Nhiều người sẽ:

✔ Đồng bộ danh bạ

✔ Sao lưu ảnh

✔ Backup lên Google Drive hoặc iCloud

Tại sao?

Vì...

Điện thoại có thể:

Rơi.

Hỏng.

Mất.

😅

Database cũng vậy.

Không ai mong server chết.

Không ai mong hack.

Không ai mong bấm nhầm.

Nhưng...

Những chuyện đó vẫn xảy ra.

😄

Backup giống như...

Mua bảo hiểm.

Hy vọng không bao giờ dùng tới.

Nhưng khi cần thì thấy...

May quá mình đã chuẩn bị.


Điều gì sẽ xảy ra nếu không backup?

Ví dụ.

Website bán hàng của bạn có:

  • 3.000 khách hàng
  • 5.500 đơn hàng
  • 800 sản phẩm

Một buổi tối.

Bạn định xóa vài dòng dữ liệu test.

Viết:

DELETE FROM orders;

Định viết:

DELETE FROM orders
WHERE id=999;

Nhưng...

Quên mất dòng:

WHERE

🤡

Enter.

...

5.500 đơn hàng.

Bay màu.

😭😭😭


Một hiểu lầm rất phổ biến 🤡

Nhiều người nghĩ:

"Hosting sẽ tự cứu mình."

Không hẳn.

Một số hosting có backup.

Một số không.

Một số chỉ giữ vài ngày.

Một số muốn khôi phục phải trả phí.

InfinityFree thì càng nên tự backup thường xuyên vì gói miễn phí không phải là nơi để lưu trữ dữ liệu quan trọng lâu dài.

Vậy nên.

Đừng giao toàn bộ số phận website cho... may mắn.

😅


Backup database có lưu cả website không?

Không.

Đây là điều rất nhiều người mới nhầm.

Website thường gồm hai phần.

📁 File

🗄 Database

Ví dụ WordPress.

File gồm:

  • theme
  • plugin
  • ảnh
  • code PHP

Database gồm:

  • bài viết
  • bình luận
  • tài khoản
  • menu
  • cài đặt

Nếu chỉ backup database.

Bạn KHÔNG có:

Theme.

Plugin.

Code.

Nếu chỉ backup file.

Bạn KHÔNG có:

Bài viết.

Người dùng.

Đơn hàng.

😄

Muốn an toàn.

Phải backup cả hai.


phpMyAdmin backup như thế nào?

Tin vui là...

Rất đơn giản.

Các bước cơ bản:

  1. Mở phpMyAdmin
  2. Chọn database
  3. Chọn Export
  4. Chọn Quick
  5. Format SQL
  6. Download

Xong.

Một file:

website.sql

đã nằm trong máy bạn.

😎


Lúc cần khôi phục thì sao?

Nếu có file:

website.sql

Bạn chỉ cần:

Import

Chọn file

Upload

MySQL sẽ tạo lại dữ liệu.

Giống như bấm nút:

"Quay về thời điểm hôm qua."

😄


Backup trước khi làm những việc gì?

Đây là thói quen rất nhiều lập trình viên lâu năm giữ đến tận bây giờ.

Mỗi khi chuẩn bị:

✔ Update WordPress

✔ Update plugin

✔ Update theme

✔ Chạy script sửa dữ liệu

✔ Import CSV

✔ Viết câu SQL lớn

✔ Đổi cấu trúc bảng

✔ Chuyển hosting

Backup trước.

Mất khoảng:

30 giây.

Nhưng có thể cứu bạn khỏi vài ngày ngồi sửa dữ liệu.

😎


InfinityFree Case 😅

Đây là tình huống rất hay gặp.

Bạn có website demo.

Đang nghịch SQL.

Đọc đâu đó trên mạng.

Copy một đoạn:

DROP TABLE users;

Nghĩ rằng:

"Chắc chỉ xóa dữ liệu thôi."

...

Không.

DROP TABLE

là xóa luôn cả bảng.

😅

Nếu chưa backup.

Thì...

Chúc may mắn.

😭


Đừng chỉ lưu một bản backup

Đây là lỗi khá buồn cười.

Bạn backup.

Lưu đúng một file.

Tên:

backup.sql

Một tháng sau.

Lại backup.

Tên vẫn:

backup.sql

Windows hỏi:

"Ghi đè?"

Bạn bấm:

Yes.

🤡

Thế là bản backup cũ biến mất.

Sau này mới phát hiện.

File mới cũng bị lỗi.

...

Khóc luôn.

😅

Hãy đặt tên kiểu:

shop_2026-06-15.sql

shop_2026-06-22.sql

shop_2026-06-29.sql

Nhìn là biết ngay.


Backup nên lưu ở đâu?

Đừng lưu duy nhất trong hosting.

Nếu hosting hỏng.

Backup cũng mất.

😅

Một cách đơn giản:

✔ Máy tính

✔ Ổ cứng ngoài

✔ Google Drive

✔ OneDrive

✔ Dropbox

Ít nhất nên có từ hai nơi trở lên.

Lập trình viên thường gọi vui là:

"Đừng bỏ tất cả trứng vào cùng một giỏ."

😄


Bao lâu nên backup một lần?

Không có đáp án chung.

Website cá nhân ít thay đổi.

→ Một tuần.

Website bán hàng.

→ Mỗi ngày.

Website có nhiều đơn hàng.

→ Thậm chí nhiều lần trong ngày.

Quy tắc rất dễ nhớ:

Dữ liệu thay đổi càng nhiều thì backup càng thường xuyên.


Một mẹo nhỏ nhưng cực hữu ích 😎

Trước khi chạy một câu SQL mà bạn cảm thấy hơi... run tay.

Hãy tự hỏi:

"Nếu câu lệnh này sai thì sao?"

Nếu câu trả lời là:

"Mình sẽ mất dữ liệu."

Backup trước.

Chỉ mất vài chục giây.

Nhưng đổi lại là sự yên tâm.


Debug kiểu dev thật 😎

✅ 1. Backup trước khi UPDATE hàng loạt

Đừng tin vào cảm giác:

"Code này chắc đúng."

😅

✅ 2. Test trên database demo trước

Đừng thử trực tiếp trên website thật.

✅ 3. Đừng chỉ kiểm tra file có tồn tại

Hãy thử import file backup vào môi trường test.

Backup mà khôi phục không được thì cũng... như chưa backup.

✅ 4. Ghi ngày backup

Sau này sẽ biết mình đang phục hồi dữ liệu của thời điểm nào.


Checklist chuẩn không cần chỉnh 😎

☑ Backup trước khi sửa database

☑ Backup trước khi update WordPress

☑ Backup cả file và database

☑ Lưu nhiều bản khác nhau

☑ Không ghi đè bản backup cũ

☑ Thỉnh thoảng thử restore để kiểm tra


FAQ nhanh

Backup có làm chậm website không?

→ Không đáng kể nếu thực hiện đúng cách.

File .sql có mở được không?

→ Có.

Chỉ là file văn bản chứa các câu lệnh SQL.

Chỉ backup file website có đủ không?

→ Không.

Database và file là hai phần khác nhau.

Bao lâu nên backup?

→ Tùy lượng dữ liệu thay đổi, nhưng hãy tạo thành một thói quen.


Bạn có thể cũng đang gặp 😭

👉 Join là gì?

👉 Pagination là gì?

👉 LIMIT trong MySQL là gì?

👉 Vì sao xóa dữ liệu rồi ID vẫn tăng?

👉 SQL Ịnjection là gì?


Tổng kết

Có một câu nói rất nổi tiếng trong giới quản trị hệ thống:

Có hai kiểu người.

Một là người đã từng mất dữ liệu.

Hai là người... sắp mất dữ liệu.

😅

Nghe hơi bi quan.

Nhưng lại rất đúng.

Không ai muốn website bị lỗi.

Không ai muốn xóa nhầm.

Không ai muốn hosting gặp sự cố.

Nhưng điều đó hoàn toàn có thể xảy ra.

Backup không làm website nhanh hơn.

Không giúp SEO tăng hạng.

Không làm giao diện đẹp hơn.

Nhưng vào đúng ngày tồi tệ nhất.

Nó có thể cứu cả vài tháng công sức của bạn.

Và nếu bạn chỉ nhớ một điều từ bài này, hãy nhớ:

Đừng backup sau khi xảy ra sự cố.

Hãy backup trước khi sự cố kịp xảy ra. 🚀