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
và
🗄 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:
- Mở phpMyAdmin
- Chọn database
- Chọn Export
- Chọn Quick
- Format SQL
- 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.sqlBạ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.sqlMột tháng sau.
Lại backup.
Tên vẫn:
backup.sqlWindows 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.sqlNhì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 😭
👉 Vì sao xóa dữ liệu rồi ID vẫn tăng?
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. 🚀