28-07-2010, 01:46 AM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30835 trong 10208 bài viết
Đã viết 23,167 bài thảo luận
124083 lượt xem
#1
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Là 1 admin website hay bất kì 1 ngành nào liên quan tới quản trị thì chắc hẳn công việc backup và restore tất nhiên bạn phải nắm giữ thành thục.
Song, hiện nay rất nhiều bạn backup thường xuyên nhưng tới lúc bị sự cố lấy data lại ko restore đc. 
Bài viết này sẽ giúp các bạn sao lưu và phục hồi CSDL của mình ko bị lỗi
Trước khi vào đề mình xin nói sơ qua, tại sao các bạn sao lưu hay bị lỗi.
- Data có table bị overhead
- Data có table bị hư chỉ mục
- Data có table bị crash
Đây là 3 nguyên nhân chính khiến file sao lưu của các bạn bị lỗi
Chắc các bạn sẽ thắc mắc, data hư thế sao web còn chạy, còn sao lưu đc
Xin trả lời như sau:
- Không phải website của bạn chạy nó sẽ truy vấn 1 lần tới toàn bộ CSDL, do đó bạn sẽ ko thể thấy nó lỗi khi truy cập nhưng nếu vào 1 chức năng nào đó mới hôm qua bình thường mà hôm nay tự nhiên báo database error thì hãy nghĩ ngay tới 3 nguyên nhân mình nói bên trên.
Vậy mình sẽ giải quyết sao khi bị 3 lỗi trên ?
-Hiện nay tất cả các host từ cPanel,DirectAdmin,Plesk,Vista Panel .. đều có cung cấp sẵn 1 công cụ quản lý data là phpmyadmin. Chúng ta có thể khắc phục 3 điều trên thông qua phpmyadmin
Cách làm như sau:
vào phpmyadmin (Cái này đơn giản, mình ko nói lại phải vào phpmyadmin như thế nào)
Khi vào phpmyadmin rồi thì các bạn bấm chọn database cần kiểm tra bên tay trái
Các bạn để ý khung mình khoanh đỏ

Trường hợp này có 1 table bị Over head
Overhead ở đây bạn có thể hiểu là dung lượng vượt quá 1 mức lý tưởng để lưu 1 table mà mysql cho là tốt nhất
Để khắc phục thì ta click chọn table này sau đó kéo xuống dưới cùng chọn như hình dưới

Tương tự như vậy, nếu table này bị hư nó sẽ báo là crash hoặc In User tức là table này bị hư hoàn toàn.ko sử dụng đc. Lúc đó thay vì bạn chọn chức năng Optimize thì ta chọn repair table cho nó sửa lại
Còn nếu hư chỉ mục thì ta cũng chọn chức năng repair
Đề chọn nhanh tất cả các table bị overhead thì các bạn có thể bấm nút Check tables having overhead ở cuối

Như vậy, trước khi sao lưu thì các bạn nên kiểm tra qua các công đoạn này thì file sao lưu của cac bạn sẽ ok.
VBB cũng cung cấp cho mình 1 tool làm việc này trong admincp trong phần AdminCP~~>Repair / Optimize Tables
Nhưng đôi khi có bạn hư data ko vào đc admincp luôn nên mình hướng dẫn các bạn trên phpmyadmin cho tổng quát
Lưu ý thêm:
1.Trong quá trình sao lưu CSDL thì tốt nhất các bạn nên tạm thời đóng cửa website/forum để tránh quá trính data vừa cập nhật vừa sao lưu dễ gây mất ràng buộc giữa các bảng nếu sự cập nhật này có liên quan tới các bảng có quan hệ với nhau
VD:
Khi 1 thành viên tạo 1 đề tài mới thì VBB sẽ thêm 1 bản ghi vào table thread, 1 bản ghi vào table post, thêm attachment...cập nhất 1 số tabe khác như user chẳng hạn..
Nhưng giả sử quá trình sao lưuu đã sao lưu xong table thread, còn post đang giữa chửng, bản ghi mới chèn vào table thread sẽ ko có trong file sao lưu còn bản ghi mới trong table post lại có -> Điều gì sảy ra nếu 2 table có quan hệ với nhau, có thiết lập khóa ngoại với nhau ? -> chắc chắn sẽ lỗi khi restore
2.Sao lưu bằng tool gì thì phục hồi bằng tool đó sẽ hạn chế đc lỗi phát sinh. Mình khuyên dùng tool này
http://sinhvienit.net/forum/threads...file-duy-nhat/
Ngoài ra bạn có thể dùng chính công cụ backup của VBB, Nhưng VBB lại ko có chức năng restore. Lúc này muốn sesore các bạn có thể dùng bigdump cũng rất tốt
TUT chỉ có thế, tốt nay viết 3 cái tut rồi . Anh em nhớ thanks nhiệt tình, bữa sau còn viết tiếp
Bài chỉ post ở SinhVienIT.net thui nhá, ai copy đi đâu nhớ ghi rõ nguồn 
http://sinhvienit.net/forum/threads...-khong-bi-loi/
Chủ đề mới cùng chuyên mục
28-07-2010, 03:02 AM
Onevnn
Điều hành viên cũ
Được cảm ơn 716 trong 498 bài viết
Đã viết 2,521 bài thảo luận
#2
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Mình thấy dùng Sypex Dumper là đơn giản nhất
VK ƠI HẾT TIỀN THUÊ HOST CHẠY SITE CHO VK RÙI. HUHU
05-08-2010, 07:37 PM
23!Zô
Thành Viên SVIT
Được cảm ơn 12 trong 11 bài viết
Đã viết 108 bài thảo luận
#3
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Hay....mình đã thành công. hehe
08-08-2010, 12:58 AM
23!Zô
Thành Viên SVIT
Được cảm ơn 12 trong 11 bài viết
Đã viết 108 bài thảo luận
#4
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Có 1 số tab khi mình Optimize nhưng nó vẫn trơ trơ ra, không có tác dụng, vậy phải làm sao đây Lai ???
08-08-2010, 01:02 AM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30835 trong 10208 bài viết
Đã viết 23,167 bài thảo luận
#5
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Nếu nó ko over head thì tất nhiên ko có ảnh hưởng rồi, ngoài ra 1 số table dạng lưu trữ memory hay tương tự thì ko có chức năng này, và nó cũng chả bao h có chuyện over head
08-08-2010, 01:06 AM
23!Zô
Thành Viên SVIT
Được cảm ơn 12 trong 11 bài viết
Đã viết 108 bài thảo luận
#6
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Mình có 2 table cpsession và session, ở dòng Overhead nó vẫn hiện dung lượng mà, optimize ko có tác dụng ? vậy là không bị overhead hả ?
08-08-2010, 01:08 AM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30835 trong 10208 bài viết
Đã viết 23,167 bài thảo luận
#7
Hướng dẫn Backup và Restore MySQL database không bị lỗi

Nguyên văn bởi
ôlala
Mình có 2 table cpsession và session, ở dòng Overhead nó vẫn hiện dung lượng mà, optimize ko có tác dụng ? vậy là không bị overhead hả ?
Cậu chụp hình trước và sau khi chạy optimize 2 table mình xem thử
08-08-2010, 01:16 AM
23!Zô
Thành Viên SVIT
Được cảm ơn 12 trong 11 bài viết
Đã viết 108 bài thảo luận
#8
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Đây là hình sau khi mình optimize 3 table, table blog thì báo ok, còn 2 table kia thì ko đc..
08-08-2010, 01:23 AM
Vũ Thanh Lai
Đầy tớ Nhân Dân
Được cảm ơn 30835 trong 10208 bài viết
Đã viết 23,167 bài thảo luận
#9
Hướng dẫn Backup và Restore MySQL database không bị lỗi
2 table này lưu dữ liệu trong RAM nên ko optimize đc, nó sẽ mất hết dữ liệu khi server khởi động lại hoặc restart lại mysql. Khi backup thì quá trình backup chỉ lấy cấu trúc của 2 table đó thui.
08-08-2010, 01:29 AM
23!Zô
Thành Viên SVIT
Được cảm ơn 12 trong 11 bài viết
Đã viết 108 bài thảo luận
#10
Hướng dẫn Backup và Restore MySQL database không bị lỗi
Nhưng khi bấm vào repair nó cũng báo vậy.......có sao ko Lai ???