Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
Đôi khi trang web của chúng ta sảy ra sự cố nào đó, hoặc chức năng "Undo" của trang Web hay hệ thống không đủ mạnh để có thể fix hết lỗi đó, vì thế việc tạo ra 1 Backup Copy là luôn luôn cần thiết, đặc biệt là khi trang Web của bạn có nhiều"Thành viên" tác động làm thay đổi Database của hệ thống, nó giúp ta tránh việc mất mát các dữ liệu quan trọng, và nhanh chóng khôi phục hệ thống khi có lỗi sảy ra. Và hôm nay chúng ta sẽ đi tìm hiểu cách Backup Database trong Drupal
>>Hướng dẫn Backup Database Drupal phần 2: Backup and migrate
>>Backup Database Drupal phần 3.1: lưu backup trong Dropbox
>>www.Dropbox.com: Backup Database Drupal phần 3.2
Phần này chúng ta sẽ hướng dẫn chúng ta export DB bằng Phpmyadmin.Với 2 mục đích là dùng để chuyển dữ liệu (DB) từ server cũ sang server mới,hoặc dùng để làm bản DB backup (không khuyến khích).
Với Drupal thì nếu ta export theo cách mặc định,tức là chỉ export ngay và import vào server mới thì sẽ gây ra lỗi tràn cache như dưới đây:
Vì vậy trước khi export DB ta phải tiến hành truncate 3 bảng dưới đây :
Truncate table cache Truncate table cache_menu Truncate table cache_form
Tại sao là 3 bảng trên,thì ta sẽ đến với một ví dụ ở dưới đây với 1 project hiện có với 2 trường hợp trước và sau khi truncate:
Trước : 486KB
Sau : 326KB
Bạn có thể thấy 3 bản cache trên chiếm 1 dung lượng khá lớn.Có thể lên tới vài trăm bản ghi,mỗi bản ghi lại chứa dữ liệu khá lớn.Như lưu trữ cả nội dung một block hay một view chẳng hạn.Khi import vào DB sẽ gây cho SQL bị gone away.Một lỗi thường gặp khi ta không loại bỏ các bảng trên
Một cách khác ta có thể làm thay thế truncate là ta clear cache trên site drupal,sau đó mới export.Tuy nhiên việc này trong nhiều trường hợp cũng không hoàn toàn hiệu quả mà vẫn gây lỗi như trên vì nếu 3 bảng trên quá nhiều record thì việc clear trên cũng không hiệu quả.Ta thường phải clear cache 3-4 lần thì mới chắc chắn hết được.
Ngoài ra để giảm dung lượng file down về và tránh lỗi bảo mật cho server mới ta sẽ truncate 2 bảng đó là session và watchdog.Bảng watchdog là bảng có nhiều bản ghi nhất trong các các bảng,tầm vài trăm đến vài ngàn,thậm trí vài chục ngàn.Tuy nhiên do dữ liệu tại mỗi bản ghi khá nhỏ,không lớn như bảng cache ở trên nên khi import vào sẽ không báo lỗi tràn mysql :
Truncate table sessions Truncate table watchdog
Ở phần sau mình sẽ trình bày cách backup database khác hiệu quả hơn.
Bình luận (0)
Add Comment