Tôi ưu và giảm 50% dung lượng Database của Xenforo

Tú Cao Tác giả Tú Cao 13/11/2017 4 phút đọc

Vừa rồi thì mình có chuyển server của 1 diễn đàn xenforo với dung lượng hơn 3GB. Mỗi lần chuyển dung lượng những file database lớn như vậy thường phát sinh rất nhiều vấn đề, đặc biệt là với xenforo bởi nó gồm rất nhiều bảng. 1 Database mình chuyển lần này có 184 bảng với dung lượng 3GB. Sau khi nén với Mysql Sypex Dumper (Gzip 7) thì vẫn còn gần 400MB. Và mỗi lần Import đều lỗi, bởi vậy mình phải tìm cách làm giảm dung lượng của nó xuống. Nếu bạn cũng gặp vấn đề trên mình có 1 số mẹo dành cho bạn. Sau khi làm xong những cách này mình giảm database từ 3GB xuống còn 1,5GB và chuyển dữ liệu bình thường. Lưu ý: Trước khi làm theo hướng dẫn này, hãy đảm bảo bạn đã backup dữ liệu. Sẵn sàng cho mọi tình huống xấu nhất. Bước 1: Hãy tắt diễn đàn (Vào Admin -> Options -> Broad Active bỏ nút tick) Bước 2: Vào Phpmyadmin tìm 2 bảng sau và làm rỗng (chọn empty) nó.

  • xf_ip
  • xf_search
2 bảng này lưu rất nhiều dữ liệu không cần thiết, đặc biệt là IP. Một số hướng dẫn trên mạng khuyên bạn nên sử dụng các add-on khác về search để bảng này ko cần làm việc và họ có test là giảm được 50% dung lượng. Bạn có thể sử dụng Elasticsearch for Xenforo. Bước 3: Chạy 1 số truy vấn sau để xóa hết những bài ở trạng thái xóa tạm
DELETE FROM `xf_thread` WHERE `discussion_state`='deleted' 
DELETE FROM `xf_post` WHERE `message_state`='deleted' 
  Bước 4: Tối ưu bằng tính năng Optiminize của Mysql Chọn tất cả database và chọn optiminize optimizeBước 5: Sử dụng Mysql Sypex Dumper để export database cũ và import vào server mới. Hướng dẫn: /huong-dan-backuprestore-sao-luu-khoi-phuc-database-co-so-du-lieu-website-voi-sypex-dumper.html Đó là những bước mình làm với 1 database khá lớn của Xenforo. Ngoài ra nếu bạn chạy xenforo cho server cài đặt nginx thì bạn cũng cần config lại vhost. Đây là config của mình cho tuoitredonganh.vn (chạy trong folder diendan, nếu bạn chạy ở domain chính thì xóa nó đi là được)
location /diendan/ { try_files $uri $uri/ /diendan/index.php?$uri&$args; index index.php index.html; } location /diendan/internal_data/ { internal; } location /diendan/library/ { internal; }

Chúc bạn thành công!

Tú Cao
Tác giả Tú Cao Admin

"Hạnh phúc không phải là nhận, hạnh phúc chính là sự cho đi" - đây là lý do Tú xây dựng Blog này. Bài viết trên dự dựa trên quan điểm, hiểu biết của cá nhân. Nó có thể đúng, cũng có thể sai tùy thời điểm, vì vậy bạn phải tự cân nhắc và chịu trách nhiệm khi làm theo. Nếu bạn thấy nội hữu ích với bạn, hãy Mời Tú Cao một tách CÀ PHÊ.

Bài viết trước Hướng dẫn xác thực DKIM và SPF cho Email doanh nghiệp với Yandex

Hướng dẫn xác thực DKIM và SPF cho Email doanh nghiệp với Yandex

Bài viết tiếp theo

Chia sẻ kinh nghiệm quản trị Website

Chia sẻ kinh nghiệm quản trị Website
Viết bình luận
Thêm bình luận

2 Bình luận

H
Hải

Tú import bằng phpmyadmin hay comand line mà bị lỗi? Dữ liệu lớn thường mình import bằng command line nhanh lắm, ko bị lỗi nhưng chưa import data cỡ 3G

Trả lời
17:58 13/11/2017
Popup image default

Bài viết liên quan

Thông báo