Sao lưu cơ sở dữ liệu mysql. Tìm hiểu các tiện ích để sao lưu cơ sở dữ liệu

Mặc dù thực tế là trong các tài liệu trước đây, chúng tôi đã đề cập đến vấn đề sao lưu Cơ sở dữ liệu Microsoft Máy chủ SQL, phản hồi của người đọc cho thấy cần phải tạo ra một tài liệu đầy đủ, nghiên cứu sâu hơn phần lý thuyết. Thật vậy, được thực hiện với sự nhấn mạnh vào hướng dẫn thực hành Các bài viết cho phép bạn nhanh chóng thiết lập bản sao lưu, nhưng không giải thích lý do chọn cài đặt nhất định. Hãy cố gắng sửa chữa khoảng cách này.

Mô hình phục hồi

Trước khi thiết lập bản sao lưu, bạn nên chọn mô hình khôi phục. Vì sự lựa chọn tối ưu bạn nên đánh giá các yêu cầu khôi phục và mức độ nghiêm trọng của việc mất dữ liệu, so sánh chúng với chi phí chung khi triển khai một mô hình cụ thể.

Như bạn đã biết, cơ sở dữ liệu MS SQL bao gồm hai phần: thực ra, Cơ sở dữ liệu và nhật ký giao dịch cho nó. Cơ sở dữ liệu chứa dữ liệu người dùng và dịch vụ tại thời điểm hiện tại, nhật ký giao dịch bao gồm lịch sử của tất cả các thay đổi đối với cơ sở dữ liệu trong một khoảng thời gian nhất định, với nhật ký giao dịch, chúng ta có thể khôi phục trạng thái của cơ sở dữ liệu về bất kỳ thời điểm tùy ý nào.

Có hai mô hình khôi phục có sẵn để sử dụng trong môi trường sản xuất: đơn giản và đầy đủ. Ngoài ra còn có một mô hình với ghi nhật ký không đầy đủ, nhưng nó chỉ được khuyến nghị như một phần bổ sung cho mô hình đầy đủ trong các giai đoạn hoạt động hàng loạt quy mô lớn khi không cần khôi phục lại cơ sở tại một thời điểm nhất định.

Mô hình đơn giản chỉ cung cấp bản sao lưu cho cơ sở dữ liệu; do đó, chúng tôi chỉ có thể khôi phục trạng thái của cơ sở dữ liệu tại thời điểm bản sao lưu được tạo; Trong cùng thời gian mạch đơn giản có chi phí thấp: bạn chỉ cần lưu trữ các bản sao của cơ sở dữ liệu; nhật ký giao dịch sẽ tự động bị cắt bớt và không tăng kích thước. Ngoài ra, quá trình khôi phục là đơn giản nhất và không mất nhiều thời gian.

mô hình đầy đủ cho phép bạn khôi phục cơ sở dữ liệu vào bất kỳ thời điểm tùy ý nào, nhưng yêu cầu, ngoài việc sao lưu cơ sở dữ liệu, phải lưu trữ các bản sao của nhật ký giao dịch trong toàn bộ khoảng thời gian có thể cần khôi phục. Khi tích cực làm việc với cơ sở dữ liệu, kích thước của nhật ký giao dịch và do đó, kích thước của kho lưu trữ có thể đạt tới kích thước lớn. Quá trình phục hồi cũng phức tạp và tốn thời gian hơn nhiều.

Khi chọn mô hình khôi phục, bạn nên so sánh chi phí khôi phục với chi phí lưu trữ bản sao lưu, đồng thời bạn cũng nên tính đến tính sẵn có và trình độ của nhân sự sẽ thực hiện khôi phục. Việc khôi phục với một mô hình đầy đủ đòi hỏi nhân sự phải có trình độ và kiến ​​​​thức nhất định, trong khi với một sơ đồ đơn giản, chỉ cần làm theo hướng dẫn là đủ.

Đối với các cơ sở dữ liệu có ít thông tin được thêm vào, có thể sẽ có lợi hơn khi sử dụng một mô hình đơn giản với tần suất sao chép cao, điều này sẽ cho phép bạn nhanh chóng khôi phục và tiếp tục làm việc bằng cách nhập thủ công dữ liệu bị mất. Mô hình đầy đủ chủ yếu nên được sử dụng khi việc mất dữ liệu là không thể chấp nhận được và việc khôi phục cuối cùng sẽ tốn kém.

Các loại sao lưu

Bản sao đầy đủ của cơ sở dữ liệu- đúng như tên gọi của nó, nó thể hiện nội dung của cơ sở dữ liệu và một phần của nhật ký giao dịch đang hoạt động tại thời điểm bản sao lưu được hình thành (tức là thông tin về tất cả các giao dịch hiện tại và chưa hoàn tất). Cho phép bạn khôi phục hoàn toàn cơ sở dữ liệu về thời điểm tạo bản sao lưu.

Bản sao cơ sở dữ liệu Delta- một bản sao đầy đủ có một nhược điểm đáng kể: nó chứa tất cả thông tin cơ sở dữ liệu. Nếu cần phải thực hiện sao lưu khá thường xuyên, thì câu hỏi về việc sử dụng lãng phí dung lượng ổ đĩa sẽ ngay lập tức xuất hiện, vì phần lớn dung lượng lưu trữ sẽ bị chiếm giữ bởi cùng một dữ liệu. Để loại bỏ nhược điểm này, bạn có thể sử dụng các bản sao khác nhau của cơ sở dữ liệu, chỉ chứa thông tin đã thay đổi kể từ bản sao đầy đủ cuối cùng.

Xin lưu ý rằng bản sao khác biệt là dữ liệu từ lần trước đầy sao chép, tức là Mỗi bản sao khác biệt tiếp theo chứa dữ liệu của bản trước đó (nhưng có thể thay đổi) và kích thước của bản sao sẽ không ngừng tăng lên. Để khôi phục, một bản sao đầy đủ và một bản sao khác, thường là bản cuối cùng, là đủ. Số lượng bản sao khác nhau phải được chọn dựa trên mức tăng kích thước của chúng; ngay khi kích thước của bản sao khác biệt bằng kích thước của một nửa bản đầy đủ, việc tạo một bản sao đầy đủ mới là điều hợp lý.

Sao lưu nhật ký giao dịch- chỉ áp dụng cho mô hình khôi phục hoàn toàn và chứa bản sao nhật ký giao dịch bắt đầu từ thời điểm tạo bản sao trước đó.

Điều quan trọng cần nhớ là điểm sau - các bản sao nhật ký giao dịch không được kết nối với các bản sao cơ sở dữ liệu và không chứa thông tin từ các bản sao trước đó, vì vậy để khôi phục cơ sở dữ liệu, bạn cần có một chuỗi bản sao liên tục trong khoảng thời gian bạn muốn để có thể khôi phục trạng thái của cơ sở dữ liệu. Trong trường hợp này, thời điểm sao chép thành công cuối cùng phải nằm trong khoảng thời gian này.

Hãy xem hình trên, nếu bản sao đầu tiên của tệp nhật ký bị mất thì bạn sẽ chỉ có thể khôi phục trạng thái của cơ sở dữ liệu tại thời điểm sao chép đầy đủ, thao tác này sẽ tương tự như mô hình khôi phục đơn giản dành cho bạn; sẽ có thể khôi phục trạng thái của cơ sở dữ liệu tại bất kỳ thời điểm nào chỉ sau bản sao khác biệt (hoặc đầy đủ) tiếp theo, với điều kiện là chuỗi các bản sao nhật ký bắt đầu từ bản sao trước cơ sở dữ liệu và hơn thế nữa sẽ liên tục (trong hình - từ thứ ba trở lên).

Nhật ký giao dịch

Để hiểu quá trình khôi phục và mục đích của các loại bản sao lưu khác nhau, bạn nên xem xét kỹ hơn cấu trúc và hoạt động của nhật ký giao dịch. Giao dịch ở mức tối thiểu có thể hoạt động logic, điều này có ý nghĩa và chỉ có thể được thực hiện một cách trọn vẹn. Cách tiếp cận này đảm bảo tính toàn vẹn và nhất quán của dữ liệu trong mọi tình huống, vì trạng thái trung gian của hoạt động là không thể chấp nhận được. Nhật ký giao dịch được sử dụng để kiểm soát mọi thay đổi trong cơ sở dữ liệu.

Khi bất kỳ thao tác nào được thực hiện, một bản ghi về thời điểm bắt đầu giao dịch sẽ được thêm vào nhật ký giao dịch, mỗi bản ghi được gán một số duy nhất (LSN) từ một chuỗi không bị gián đoạn, khi có bất kỳ dữ liệu nào thay đổi, một mục nhập tương ứng sẽ được thực hiện vào nhật ký, và sau khi thao tác hoàn tất, một dấu hiệu cho biết giao dịch đã đóng (cố định) sẽ xuất hiện trong nhật ký.

Mỗi lần khởi động, hệ thống sẽ phân tích nhật ký giao dịch và khôi phục tất cả các giao dịch chưa được cam kết, đồng thời khôi phục các thay đổi đã được ghi trong nhật ký nhưng không được ghi vào đĩa. Điều này giúp bạn có thể sử dụng bộ nhớ đệm và ghi lười mà không phải lo lắng về tính toàn vẹn của dữ liệu, ngay cả khi không có hệ thống điện dự phòng.

Phần nhật ký chứa các giao dịch đang hoạt động và được sử dụng để khôi phục dữ liệu được gọi là phần hoạt động của nhật ký. Nó bắt đầu bằng một số gọi là số khôi phục tối thiểu (MinLSN).

Trong trường hợp đơn giản nhất, MinLSN là số bản ghi của giao dịch đang chờ xử lý đầu tiên. Nếu bạn nhìn vào hình trên, khi mở giao dịch màu xanh chúng ta sẽ nhận được MinLSN bằng 321, sau khi cố định ở bản ghi 324 thì số MinLSN sẽ đổi thành 323, tương ứng với số của màu xanh, chưa cam kết, giao dịch.

Trong thực tế, mọi thứ phức tạp hơn một chút, ví dụ: dữ liệu của giao dịch màu xanh lam đã đóng có thể chưa được xóa vào đĩa và việc chuyển MinLSN sang 323 sẽ khiến thao tác này không thể khôi phục được. Để tránh những tình huống như vậy, khái niệm điểm kiểm soát đã được đưa ra. Điểm kiểm tra được tạo tự động khi xảy ra các điều kiện sau:

  • Khi thực hiện rõ ràng câu lệnh CHECKPOINT. Điểm kiểm tra được kích hoạt trên cơ sở dữ liệu kết nối hiện tại.
  • Khi bạn thực hiện thao tác được ghi nhật ký tối thiểu trên cơ sở dữ liệu, chẳng hạn như khi bạn thực hiện thao tác sao chép hàng loạt trên cơ sở dữ liệu tuân theo mô hình khôi phục được ghi nhật ký hàng loạt.
  • Khi thêm hoặc xóa các tệp cơ sở dữ liệu bằng câu lệnh ALTER DATABASE.
  • Khi bạn dừng phiên bản SQL Server bằng câu lệnh SHUTDOWN hoặc khi bạn dừng dịch vụ SQL Server (MSSQLSERVER). Trong cả hai trường hợp, một điểm kiểm tra sẽ được tạo cho từng cơ sở dữ liệu trong phiên bản SQL Server.
  • Nếu phiên bản SQL Server của bạn định kỳ tạo các điểm kiểm tra tự động trên mỗi cơ sở dữ liệu để giảm thời gian khôi phục cơ sở dữ liệu.
  • Khi tạo bản sao lưu cơ sở dữ liệu.
  • Khi thực hiện một hành động yêu cầu tắt cơ sở dữ liệu. Các ví dụ bao gồm đặt tham số AUTO_CLOSE thành BẬT và đóng kết nối cuối cùng của người dùng với cơ sở dữ liệu hoặc thay đổi cài đặt cơ sở dữ liệu yêu cầu khởi động lại cơ sở dữ liệu.

Tùy thuộc vào sự kiện nào xảy ra trước, MinLSN sẽ được đặt thành số bản ghi điểm kiểm tra hoặc bắt đầu giao dịch đang chờ xử lý cũ nhất.

Cắt bớt nhật ký giao dịch

Nhật ký giao dịch, giống như bất kỳ nhật ký nào, yêu cầu dọn dẹp định kỳ các mục nhập lỗi thời, nếu không nó sẽ phát triển và chiếm hết dung lượng có sẵn. Xem xét rằng khi tích cực làm việc với cơ sở dữ liệu, kích thước của nhật ký giao dịch có thể vượt quá đáng kể kích thước của cơ sở dữ liệu, vấn đề này có liên quan đến nhiều quản trị viên.

Về mặt vật lý, tệp nhật ký giao dịch là nơi chứa các nhật ký ảo, được điền tuần tự khi nhật ký phát triển. Nhật ký logic chứa mục nhập MinLSN là phần đầu của nhật ký hoạt động; các nhật ký logic trước đó không hoạt động và không bắt buộc đối với nhật ký hoạt động; phục hồi tự động căn cứ.

Nếu được chọn mô hình đơn giản recovery, sau đó khi nhật ký logic đạt kích thước bằng 70% tập tin vật lý Phần không hoạt động của nhật ký sẽ tự động bị xóa, được gọi là. cắt ngắn. Tuy nhiên, thao tác này không thu nhỏ tệp nhật ký vật lý; nó chỉ cắt bớt các nhật ký logic, sau đó có thể được sử dụng lại sau thao tác này.

Nếu số lượng giao dịch lớn và đến thời điểm đạt tới 70% kích thước tệp vật lý mà không có nhật ký logic nào không hoạt động thì kích thước tệp vật lý sẽ tăng lên.

Do đó, tệp nhật ký giao dịch với mô hình khôi phục đơn giản sẽ phát triển theo hoạt động làm việc với cơ sở dữ liệu cho đến khi nó chứa toàn bộ phần hoạt động của nhật ký một cách đáng tin cậy. Sau đó sự tăng trưởng của nó sẽ dừng lại.

Với mô hình đầy đủ, phần không hoạt động của nhật ký không thể bị cắt bớt cho đến khi được sao lưu hoàn toàn. Việc cắt bớt nhật ký xảy ra nếu nhật ký giao dịch đã được sao lưu và điểm kiểm tra đã được tạo.

Việc định cấu hình sao lưu nhật ký giao dịch không chính xác trong mô hình đầy đủ có thể dẫn đến việc tăng trưởng tệp nhật ký không được kiểm soát, thường là vấn đề đối với các quản trị viên thiếu kinh nghiệm. Bạn cũng thường gặp lời khuyên về việc cắt bớt nhật ký giao dịch theo cách thủ công. Với mô hình khôi phục hoàn toàn, điều này không nên được thực hiện một cách phân loại, vì điều này sẽ vi phạm tính toàn vẹn của chuỗi bản sao nhật ký và bạn sẽ chỉ có thể khôi phục cơ sở dữ liệu tại thời điểm các bản sao được tạo, điều này sẽ tương ứng với mô hình đơn giản .

Trong trường hợp này, đã đến lúc nhớ lại những gì chúng ta đã nói ở đầu bài viết; nếu chi phí của một mô hình đầy đủ vượt quá chi phí phục hồi, thì nên ưu tiên cho một mô hình đơn giản.

Mô hình phục hồi đơn giản

Bây giờ, khi đã có được kiến ​​thức tối thiểu cần thiết, chúng ta có thể chuyển sang xem xét chi tiết hơn về các mô hình phục hồi. Hãy bắt đầu với một điều đơn giản. Giả sử tại thời điểm xảy ra lỗi, chúng ta có một bản sao đầy đủ và hai bản sao khác nhau:

Hỗ trợđược thực hiện mỗi ngày một lần và bản sao cuối cùng được tạo ra vào ban đêm từ ngày 21 đến ngày 22. Lỗi xảy ra vào tối ngày 22 trước khi bản sao tiếp theo được tạo. Trong trường hợp này, chúng tôi sẽ cần khôi phục tuần tự các bản sao khác biệt đầy đủ và cuối cùng, dữ liệu cho ngày làm việc cuối cùng sẽ bị mất. Nếu vì lý do nào đó, bản sao từ ngày 21 cũng bị hỏng, thì chúng tôi có thể khôi phục lại bản sao trước đó, mất thêm một ngày làm việc, đồng thời, việc làm hỏng bản sao của ngày 20 sẽ không ngăn cản chúng tôi bằng bất kỳ cách nào. từ việc khôi phục thành công dữ liệu vào tối ngày 21, khi có bản sao tương ứng.

Mô hình phục hồi hoàn toàn

Hãy xem xét một tình huống tương tự nhưng sử dụng mô hình khôi phục hoàn toàn. Chúng tôi cũng thực hiện sao lưu hàng ngày, sử dụng nguyên tắc + vi sai đầy đủ và cũng sao chép nhật ký giao dịch nhiều lần trong ngày.

Quá trình phục hồi trong trường hợp này sẽ phức tạp hơn. Trước hết, bạn sẽ cần sao lưu thủ công phần đuôi của nhật ký (hiển thị bằng màu đỏ), tức là. một phần của nhật ký kể từ thời điểm bản sao cuối cùng được tạo cho đến khi xảy ra tai nạn.

Nếu điều này không được thực hiện thì chỉ có thể khôi phục cơ sở dữ liệu về trạng thái tại thời điểm tạo bản sao cuối cùng nhật ký giao dịch.

Trong trường hợp này, việc tệp bản sao nhật ký của ngày hôm trước bị hỏng sẽ không ngăn chúng tôi khôi phục trạng thái hiện tại của cơ sở dữ liệu nhưng sẽ giới hạn chúng tôi ở thời điểm bản sao cuối cùng được tạo, tức là. những ngày hiện tại.

Sau đó, chúng tôi khôi phục tuần tự các bản sao đầy đủ và khác biệt cũng như chuỗi bản sao của nhật ký được tạo sau lần sao lưu cuối cùng, bản sao cuối cùng mà chúng tôi khôi phục là bản sao của đoạn cuối cùng của nhật ký, điều này sẽ cho chúng tôi cơ hội khôi phục cơ sở dữ liệu ngay tại thời điểm xảy ra tai nạn hoặc một sự cố tùy ý xảy ra trước đó.

Nếu bản sao vi sai cuối cùng bị hỏng thì trong trường hợp mô hình đơn giản, điều này sẽ dẫn đến mất thêm một ngày làm việc, mô hình đầy đủ cho phép bạn khôi phục bản sao áp chót, sau đó bạn sẽ cần khôi phục toàn bộ chuỗi bản sao nhật ký giao dịch từ thời điểm sao chép áp chót cho đến khi bị lỗi. Độ sâu phục hồi chỉ phụ thuộc vào độ sâu của chuỗi nhật ký liên tục.

Mặt khác, nếu một trong các bản sao nhật ký giao dịch bị hỏng, chẳng hạn như bản áp chót, thì chúng tôi sẽ chỉ có thể khôi phục dữ liệu về thời điểm sao lưu cuối cùng + khoảng thời gian trong chuỗi bản sao nhật ký còn nguyên vẹn. Ví dụ: nếu nhật ký được tạo lúc 12, 14 và 16 giờ và nhật ký được tạo lúc 14 giờ bị hỏng, thì khi có bản sao hàng ngày, chúng tôi có thể khôi phục cơ sở dữ liệu cho đến hết chuỗi liên tục, tức là. đến 12 giờ.

  • thẻ:

Vui lòng kích hoạt JavaScript để xem

Bài giảng trước đã thảo luận về chủ đề bảo mật - bảo vệ dữ liệu khỏi bị truy cập trái phép. Bài giảng này nói về việc bảo vệ dữ liệu khỏi sự mất mát bất ngờ. Ngăn ngừa mất dữ liệu là một trong những vấn đề quan trọng nhất bạn có thể gặp phải khi quản lý hệ thống cơ sở dữ liệu. Mất dữ liệu có thể xảy ra do nhiều vấn đề khác nhau.

    Lỗi phần cứng

  • Sử dụng câu lệnh CẬP NHẬT và XÓA không chính xác

    Lỗi phần mềm

    Các tình huống khẩn cấp, chẳng hạn như hỏa hoạn hoặc lũ lụt

Để tránh mất dữ liệu, bạn có thể thực hiện chiến lược khôi phục cơ sở dữ liệu. Chiến lược phục hồi phải được lập kế hoạch, thực hiện và thử nghiệm có tính đến trục trặc có thể xảy ra, có thể gặp phải trong quá trình vận hành hệ thống và mức độ bảo vệ dữ liệu cần thiết. Trong siêu thị dữ liệu, tức là những trường hợp dữ liệu có thể được phục hồi từ các hệ thống khác, có thể không cần thiết phải sao lưu từng giao dịch. Có thể chỉ cần thực hiện sao lưu toàn bộ dữ liệu của bạn theo định kỳ là đủ. Ngược lại, đối với cơ sở dữ liệu lưu trữ các giao dịch của cửa hàng trực tuyến, có thể cần phải duy trì các bản sao lưu của từng giao dịch riêng lẻ. SQL Server DBMS cung cấp đầy đủ các chức năng để triển khai chính xác loại sao lưu mà bạn cần. Bài giảng này thảo luận về những thuật toán được sử dụng rộng rãi nhất Microsoft SQL Chiến lược máy chủ để bảo vệ dữ liệu.

Sao lưu cơ sở dữ liệu đầy đủ

Chiến lược sao lưu phổ biến nhất là sao lưu toàn bộ cơ sở dữ liệu theo các khoảng thời gian định trước (ví dụ: hàng đêm). Với chiến lược khắc phục thảm họa này, bạn có thể khôi phục cơ sở dữ liệu của mình về trạng thái như khi bạn sao lưu lần cuối. Chiến lược này được thực hiện bằng cách thực hiện sao lưu toàn bộ cơ sở dữ liệu, như được thảo luận bên dưới.

Bản sao lưu cơ sở dữ liệu đầy đủ chứa tất cả dữ liệu cơ sở dữ liệu và siêu thông tin cần thiết để khôi phục cơ sở dữ liệu dữ liệu đầy đủ, bao gồm cả danh mục toàn văn. Khi bạn khôi phục cơ sở dữ liệu từ bản sao lưu đầy đủ, tất cả các tệp trong cơ sở dữ liệu sẽ được khôi phục và dữ liệu được truy xuất ở trạng thái nhất quán tại thời điểm thực hiện sao lưu. Trong khi bản sao lưu đang chạy, cơ sở dữ liệu ở chế độ sản xuất và người dùng có thể thực hiện các giao dịch, thay đổi dữ liệu theo cách thông thường. Thuật ngữ "trạng thái nhất quán" có nghĩa là tất cả các giao dịch đã được cam kết trong khi bản sao lưu cơ sở dữ liệu đang chạy đều được áp dụng và tất cả các giao dịch không được cam kết sẽ được khôi phục. Đối với các tình huống có thể dẫn đến mất tính nhất quán của dữ liệu do thực hiện các giao dịch thay đổi dữ liệu trong quá trình sao lưu, SQL Server có một quy trình đặc biệt giúp đảm bảo tính nhất quán của dữ liệu. Quá trình này ghi vào thiết bị sao lưu cả trang dữ liệu và nhật ký giao dịch.

Khuyên bảo. Danh mục toàn văn được đưa vào cơ sở dữ liệu để thêm chức năng lập chỉ mục toàn văn cho SQL Server. Lập chỉ mục toàn văn cho phép bạn tìm kiếm cơ sở dữ liệu nhanh hơn và có độ chính xác cao hơn. Để biết thêm thông tin về lập chỉ mục toàn văn bản, hãy xem Sách trực tuyến về SQL Server, Chỉ mục toàn văn bản.

Tốc độ sao lưu được xác định bởi tốc độ của các thiết bị đầu vào/đầu ra được sử dụng (những thiết bị đầu vào/đầu ra được sử dụng để thu thập và lưu trữ thông tin). Để có hiệu suất tốt nhất, SQL Server đọc tệp tuần tự. Nếu thiết bị I/O của bạn có khả năng xử lý đồng thời dữ liệu I/O dự phòng và dữ liệu I/O đến từ việc sử dụng hệ thống thông thường thì việc tạo bản sao lưu sẽ có tác động không đáng kể đến hiệu suất hệ thống. Tuy nhiên, tốt hơn hết bạn nên thực hiện sao lưu toàn bộ cơ sở dữ liệu khi không có tải cao điểm.

Trong phần tiếp theo, chúng ta sẽ xem xét các tùy chọn để triển khai chiến lược sao lưu này.

Mô hình phục hồi đơn giản

Bạn nên thông báo trước cho SQL Server loại bản sao lưu bạn định sử dụng, do đó bạn phải cấu hình cơ sở dữ liệu để phù hợp với loại bản sao lưu bạn chọn. Cấu hình này được thực hiện bằng cách chọn tùy chọn Mô hình khôi phục cơ sở dữ liệu. Mô hình khôi phục cơ sở dữ liệu mặc định được lấy từ mô hình khôi phục của mô hình cơ sở dữ liệu được xác định khi cơ sở dữ liệu được tạo. Để thực hiện chiến lược sao lưu chỉ bao gồm các bản sao lưu đầy đủ, bạn nên chọn mô hình khôi phục đơn giản (ĐƠN GIẢN).

Chọn mô hình khôi phục SIMPLE

    Từ menu Bắt đầu, chọn Tất cả chương trình. Microsoft SQL Server 2005, SQL Quản lý máy chủ Studio (Tất cả các chương trình, Microsoft SQL Server 2005, SQL Server Management Studio).

    Trong hộp thoại Kết nối với máy chủ, nhấp vào nút Kết nối.

    Trên thanh công cụ Chuẩn, bấm vào nút Truy vấn Mới ( Yêu cầu mới) để mở cửa sổ Truy vấn Mới.

    Bạn có thể sử dụng câu lệnh ALTER DATABASE để đặt mô hình khôi phục. Nhập nội dung của lệnh sau và nhấp vào nút Thực thi.

THAY ĐỔI CƠ SỞ DỮ LIỆU AdventureWorks

THIẾT LẬP PHỤC HỒI ĐƠN GIẢN;

thông tin thêm.Bài giảng này tập trung chủ yếu vào việc tạo bản sao lưu và khôi phục bằng câu lệnh SQL. Bài giảng 6-7 sẽ đề cập đến việc thực hiện nhiều quy trình tương tự mà không cần Câu lệnh T-SQL và sử dụng giao diện người dùng SQL Xưởng quản lý máy chủ.

Kiểm tra cài đặt của mô hình khắc phục thảm họa

    Để xem mô hình khôi phục được chỉ định cho cơ sở dữ liệu, bạn có thể sử dụng hàm DATABASEPROPERTYEX để truy xuất cài đặt của cơ sở ngày hiện tại hoặc thuộc tính của cơ sở dữ liệu đã chỉ định. Hãy làm theo hướng dẫn bên dưới để trích xuất thông tin về mô hình khôi phục cơ sở dữ liệu AdventureWorks.

CHỌN DATABASEPROPERTYEX("AdventureWorks","Recovery")

    Đảm bảo kết quả truy vấn bao gồm mô hình khôi phục SIMPLE.

    Đóng cửa sổ SQL Server Management Studio.

Thiết bị dự phòng

Trước khi bắt đầu thực hiện các thao tác sao lưu, bạn phải xác định nơi lưu trữ các bản sao lưu của mình. Vị trí lưu trữ các bản sao lưu được gọi là thiết bị sao lưu. Mỗi thiết bị sao lưu có thể lưu trữ nhiều bản sao lưu thuộc nhiều loại khác nhau. Có hai các loại khác nhau thiết bị dự phòng:

    Thiết bị băng.Có thể được sử dụng để lưu trữ các bản sao lưu trên băng. Các thiết bị băng phải được cài đặt cục bộ. Một bản sao lưu có thể trải rộng trên nhiều băng và một băng có thể chứa cả bản sao lưu SQL Server và Windows.

    Thiết bị đĩa.Files trên đĩa hoặc ổ đĩa cục bộ hoặc từ xa. Các tệp này được truy cập bằng cách chỉ định đường dẫn đến tệp nơi lưu trữ bản sao lưu. Liên hệ với kho từ xa nên sử dụng đường dẫn UNC.

Ghi chú. Cuốn sách này sẽ chỉ đề cập đến việc sao lưu vào các thiết bị đĩa. Ngày nay, việc sao lưu các tệp SQL Server vào thiết bị băng từ không được sử dụng thường xuyên. Nếu các bản sao lưu SQL Server được lưu trữ trên băng, chúng thường được tạo bằng các chương trình nhà phát triển bên thứ ba lời đề nghị đó chức năng bổ sung, ví dụ: sử dụng bộ lưu trữ băng từ xa. Ngoài ra, một thiết bị băng có thể được sử dụng để bảo hiểm bổ sung an toàn dữ liệu, đã được sao lưu trên thiết bị đĩa.

Các thiết bị sao lưu được xác định bằng tên thiết bị của chúng. Tên thiết bị có thể là tên thiết bị logic hoặc vật lý. Tên thiết bị đĩa vật lý là đường dẫn đến tệp sao lưu, ví dụ: "\\BACKUPSERVER\Backups\adv\AdventureWorks.bak". Đường dẫn này có thể được đưa trực tiếp vào câu lệnh sao lưu. Tên thiết bị logic là tên trỏ đến tên của thiết bị sao lưu vật lý và được lưu trữ trong SQL Server. Khi tên thiết bị logic được sử dụng trong câu lệnh sao lưu, SQL Server sẽ tìm thiết bị vật lý tương ứng trong danh mục hệ thống và thực hiện sao lưu, lưu trữ bản sao lưu trong thư mục đã chỉ định.

Để thêm một thiết bị logic vào thư mục hệ thống, bạn có thể sử dụng thủ tục lưu sẵn sp_addumpdevice. Ví dụ sau đây định nghĩa thiết bị logic với tên Adv_FullDb_Dev.

EXEC sp addumpdevice "đĩa", "AdvFullDbDev", "T:\BACKUPS\AdvFullDbDev.bak";

Khuyên bảo. Đảm bảo thay đổi đường dẫn tệp để phù hợp với máy tính của bạn. T:/, sau đó thay đổi phần đường dẫn tệp này trong hướng dẫn để khớp với ký tự ổ đĩa trên máy tính của bạn. Ngoài ra, hãy đảm bảo rằng tất cả các thư mục được chỉ định trong đường dẫn này đều tồn tại trên máy tính của bạn.

Tên thiết bị logic và vật lý có thể hoán đổi cho nhau; cả hai tên đều có thể được sử dụng để sao lưu và phục hồi cơ sở dữ liệu. Tất nhiên, nhìn chung tốt nhất bạn nên luôn sử dụng một trong hai quy ước đặt tên để giữ cho mã của bạn đơn giản. Bạn nên chọn trước thỏa thuận mà bạn thích nhất.

Bạn không bao giờ nên sao lưu vào thiết bị đĩa, nằm trên cùng một thiết bị lưu trữ vật lý với chính cơ sở dữ liệu. Ngay cả khi bộ lưu trữ đĩa có khả năng chịu lỗi do RAID, vẫn luôn có khả năng xảy ra lỗi bộ điều khiển và hỏng dữ liệu trên đĩa. Ngoài ra, bạn nên cân nhắc việc lưu trữ các tệp sao lưu của thiết bị sao lưu trên băng và lưu trữ các băng đó ở một vị trí ở xa.

Khuyên bảo. RAID viết tắt xuất phát từ cụm từ "mảng đĩa độc lập dự phòng". Các mảng này là hệ thống đĩa nhiều ổ đĩa được sử dụng để tăng tính khả dụng và dung lượng lưu trữ.

Thực hiện sao lưu cơ sở dữ liệu đầy đủ

Khi bạn đã đặt mô hình sao lưu thành ĐƠN GIẢN và quyết định thiết bị sao lưu nào sẽ lưu trữ các bản sao lưu của mình, bạn có thể bắt đầu thực hiện các bản sao lưu của mình. Việc sao lưu cơ sở dữ liệu đầy đủ được thực hiện bằng cách sử dụng câu lệnh BACKUP DATABASE khá đơn giản. Ở dạng đơn giản nhất, bạn chỉ cần cho hệ thống biết cơ sở dữ liệu nào cần sao lưu và lưu trên thiết bị nào. Để sao lưu cơ sở dữ liệu AdventureWorks vào thiết bị logic được chọn trước, hãy sử dụng câu lệnh T-SQL sau:

ĐẾN Adv_FullDb_Dev;

Nếu bạn muốn thực hiện sao lưu cơ sở dữ liệu đầy đủ vào một thiết bị vật lý, bạn phải chỉ định loại thiết bị và vị trí của bản sao lưu trong câu lệnh BACKUP DATABASE. Để tạo bản sao lưu của cơ sở dữ liệu trong thư mục t:\adv.bak, hãy làm theo hướng dẫn sau:

SAO LƯU CƠ SỞ DỮ LIỆU AdventureWorks

ĐẾN ĐĨA="t:\adv.bak";

Như đã đề cập, bất kỳ thiết bị sao lưu nào cũng có thể lưu trữ nhiều bản sao lưu. Đối số cho câu lệnh BACKUP DATABASE có thể chỉ định xem SQL Server nên ghi đè bản sao lưu hiện có trên thiết bị này hay nối nó vào bản sao lưu hiện có. Để thực hiện việc này, hãy sử dụng từ khóa INIT hoặc NOINIT. Nếu bạn chỉ định INIT, thiết bị sao lưu sẽ được định dạng trước khi bắt đầu sao lưu và tất cả các bản sao lưu trên thiết bị đó sẽ bị xóa. NOINIT, là mặc định trừ khi được chỉ định khác, cho phép SQL Server nối thêm bản sao lưu vào thiết bị sao lưu hiện có, bảo toàn tất cả các bản sao lưu hiện có trên thiết bị đó. Các tùy chọn này được thiết lập bằng cách sử dụng khối WITH ở cuối câu lệnh BACKUP DATABASE.

Nếu bạn muốn tạo bản sao lưu giống như ví dụ trước nhưng yêu cầu SQL Server xóa sạch thiết bị trước, hãy sử dụng câu lệnh sau:

SAO LƯU CƠ SỞ DỮ LIỆU AdventureWorks

ĐẾN ĐĨA="t:\adv.bak"

Như bạn có thể thấy, việc thực hiện sao lưu toàn bộ cơ sở dữ liệu không khó. Trong phần tiếp theo, bạn sẽ thấy rằng bản sao lưu đầy đủ là loại bản sao lưu cơ bản mà tất cả các loại bản sao lưu khác được xây dựng trên đó. Các loại bản sao lưu khác phụ thuộc vào việc có bản sao lưu đầy đủ vì chúng yêu cầu cơ sở dữ liệu được khôi phục làm điểm bắt đầu. Các loại bản sao lưu này, bao gồm cả bản sao lưu khác biệt, bảo toàn các thay đổi được thực hiện đối với cơ sở dữ liệu sau khi bản sao lưu đầy đủ được tạo. Vì vậy, chúng ta có thể thấy rằng sao lưu toàn bộ không chỉ quan trọng trong chiến lược khôi phục chỉ thực hiện sao lưu toàn bộ mà còn trong các chiến lược sao lưu khác, được thảo luận bên dưới.

Sao lưu vi sai

Ưu điểm chính của bản sao lưu cơ sở dữ liệu đầy đủ là bản sao lưu đầy đủ chứa tất cả dữ liệu cần thiết để khôi phục toàn bộ cơ sở dữ liệu. Nhưng ưu điểm này cũng có thể là nhược điểm. Hãy tưởng tượng một cơ sở dữ liệu được sao lưu hàng đêm. Nếu phải khôi phục cơ sở dữ liệu thì dù sao bạn cũng sẽ phải sử dụng bản sao lưu tối qua và kết quả là bạn sẽ mất cả ngày làm việc. Một cách để giảm lượng thời gian có thể bị bỏ sót khi sao lưu là thực hiện sao lưu toàn bộ cơ sở dữ liệu thường xuyên hơn. Nhưng bản thân điều này đã có vấn đề. Vì tất cả các đoạn nhật ký giao dịch và dữ liệu đều được ghi vào thiết bị sao lưu nên quá trình sao lưu có thể mất nhiều thời gian để hoàn tất. Ngoài ra, việc lưu trữ tất cả các bản sao lưu này cần nhiều dung lượng ổ đĩa h° và một bản sao lưu đầy đủ có thể làm giảm hiệu suất cơ sở dữ liệu do yêu cầu lượng I/O lớn. Sẽ tốt hơn nếu sao lưu một lần vào ban đêm và sau đó chỉ sao lưu những dữ liệu đã thay đổi trong ngày? Như là chức năng cung cấp một loại sao lưu khác biệt.

Bản sao lưu vi sai chỉ lưu các thay đổi dữ liệu xảy ra sau khi bản sao lưu đầy đủ được tạo. Nếu cùng một dữ liệu đã thay đổi nhiều lần kể từ khi tạo bản sao lưu đầy đủ thì bản sao lưu vi sai sẽ bảo tồn nhiều dữ liệu nhất. phiên bản mới nhất dữ liệu đã thay đổi. Để khôi phục dữ liệu từ bản sao lưu vi sai, trước tiên bạn cần khôi phục toàn bộ dữ liệu sao lưu, sau đó chỉ áp dụng bản sao lưu vi sai mới nhất, như minh họa trong cơm. 4.1.

Cơm. 4.1. Chiến lược sao lưu bằng cách sử dụng bản sao lưu khác biệt

Thực hiện sao lưu vi sai

Thực hiện sao lưu vi sai không khác nhiều so với thực hiện sao lưu toàn bộ. Sự khác biệt duy nhất là khối VỚI khai báo hướng dẫn tạo bản sao lưu vi sai. Cú pháp của câu lệnh BACKUP DATABASE để sao lưu cơ sở dữ liệu Adventure Works vào thiết bị vật lý với việc ghi đè các bản sao lưu hiện có khác trên thiết bị này sẽ như sau:

SAO LƯU CƠ SỞ DỮ LIỆU AdventureWorks

ĐẾN ĐĨA="t:\adv_diff.bak"

VỚI BAN ĐẦU, KHÁC BIỆT;

Nếu bạn muốn sử dụng một thiết bị logic, trước tiên bạn phải tạo nó, giống như với một bản sao lưu đầy đủ.

EXEC sp_addumpdevice "đĩa", "Adv_Diff_Dev",

"T:\BACKUPS\AdvDiffDev.bak";

SAO LƯU CƠ SỞ DỮ LIỆU AdventureWorks

ĐẾN Adv_Diff_Dev

VỚI BAN ĐẦU, KHÁC BIỆT;

Quan trọng. Để khôi phục dữ liệu từ bản sao lưu vi sai, bạn luôn cần bản sao lưu đầy đủ gần đây nhất. Hãy cẩn thận không ghi đè hoặc xóa bản sao lưu cơ sở dữ liệu đầy đủ trong khi cần khôi phục dữ liệu từ các bản sao lưu khác biệt.

Sao lưu nhật ký giao dịch

Bằng cách kết hợp các bản sao đầy đủ và khác biệt của cơ sở dữ liệu, bạn có thể tạo ảnh chụp nhanh dữ liệu của mình và khôi phục nó. Nhưng trong một số trường hợp, cũng nên có bản sao lưu của tất cả các sự kiện xảy ra trong cơ sở dữ liệu, cho đến các bản ghi của từng câu lệnh được thực thi. Bằng cách này, có thể khôi phục cơ sở dữ liệu về bất kỳ trạng thái cần thiết nào. Sao lưu nhật ký giao dịch chỉ cung cấp một cơ hội như vậy. Như tên cho thấy, phương pháp sao lưu nhật ký giao dịch tạo bản sao lưu của tất cả các mục nhật ký giao dịch đã xảy ra trong cơ sở dữ liệu. Những lợi ích chính của việc sao lưu nhật ký giao dịch như sau:

    Sao lưu nhật ký giao dịch cho phép bạn khôi phục dữ liệu về một thời điểm cụ thể.

    Vì sao lưu nhật ký giao dịch tạo bản sao lưu của các mục nhật ký nên bạn có thể sao lưu từ nhật ký giao dịch ngay cả khi dữ liệu bị hỏng. Bằng cách sử dụng bản sao lưu như vậy, bạn có thể khôi phục cơ sở dữ liệu về giao dịch cuối cùng xảy ra trước khi sự cố bắt đầu. Bằng cách này, nếu xảy ra lỗi, sẽ không có giao dịch nào đã cam kết bị mất.

Giống như các bản sao lưu khác biệt, việc khôi phục cơ sở dữ liệu từ bản sao lưu nhật ký giao dịch trong chiến lược khôi phục yêu cầu bản sao lưu cơ sở dữ liệu đầy đủ cơ bản. Chiến lược sao lưu sử dụng bản sao lưu nhật ký giao dịch được hiển thị trong cơm. 4.2. Sao lưu cơ sở dữ liệu đầy đủ được hoàn thành trong vòng vài giờ tải ít nhất sao lưu phần cứng và nhật ký giao dịch được thực hiện vào những thời điểm cụ thể trong ngày. Bản sao lưu nhật ký giao dịch chứa tất cả các giao dịch đã xảy ra kể từ lần sao lưu nhật ký giao dịch cuối cùng được tạo. Do đó, để khôi phục cơ sở dữ liệu bằng bản sao lưu nhật ký giao dịch, bạn cần có bản sao lưu cơ sở dữ liệu đầy đủ và tất cả các bản sao lưu nhật ký giao dịch kể từ khi bản sao lưu đầy đủ được tạo. Như bạn có thể thấy, điều quan trọng là tất cả các bản sao lưu đều có sẵn. Nếu bản sao lưu cơ sở dữ liệu đầy đủ hoặc một trong các bản sao lưu nhật ký giao dịch bị mất, sẽ không thể khôi phục lượng dữ liệu mong muốn.

Cơm. 4.2. Chiến lược sao lưu bằng cách sử dụng bản sao lưu nhật ký giao dịch

Kết hợp sao lưu nhật ký giao dịch và chênh lệch

Một chiến lược khả thi khác là kết hợp các phương pháp sao lưu đầy đủ và khác biệt với sao lưu nhật ký giao dịch. Chiến lược này được sử dụng khi việc khôi phục dữ liệu từ bản sao lưu nhật ký giao dịch sẽ tốn quá nhiều thời gian. Bởi vì việc khôi phục dữ liệu từ bản sao lưu nhật ký giao dịch có nghĩa là tất cả các giao dịch phải được thực hiện lại nên việc khôi phục tất cả dữ liệu, đặc biệt là trong cơ sở dữ liệu lớn, có thể mất rất nhiều thời gian. Sao lưu khác biệt chỉ áp dụng các thay đổi dữ liệu có thể được hoàn thành nhanh hơn so với việc chạy lại tất cả các giao dịch.

Để khôi phục cơ sở dữ liệu khi sử dụng chiến lược kết hợp như trong cơm. 4.3, trước tiên bạn cần khôi phục dữ liệu từ bản sao lưu đầy đủ cuối cùng, sau đó là bản sao lưu vi sai cuối cùng và cuối cùng là dữ liệu từ tất cả các bản sao lưu nhật ký giao dịch tiếp theo.

Cơm. 4.3. Chiến lược dự phòng kết hợp

Ví dụ: để khôi phục dữ liệu về bản sao lưu nhật ký giao dịch T3, bạn sẽ khôi phục bản sao lưu toàn bộ F1, bản sao lưu vi sai D1 và bản sao lưu nhật ký giao dịch T3.

Khoảng thời gian giữa các lần sao lưu nhật ký giao dịch phụ thuộc vào:

    Số lượng và quy mô của các giao dịch được thực hiện trong cơ sở dữ liệu. Với chiến lược dự phòng này sao chép SQL Máy chủ phải giữ lại tất cả các giao dịch cho đến khi nhật ký giao dịch được sao lưu. Do đó, tệp nhật ký giao dịch phải chứa tất cả các giao dịch xảy ra trong khoảng thời gian giữa hai bản sao lưu nhật ký giao dịch liên tiếp. Nếu nhật ký đầy quá nhanh, bạn nên giảm khoảng thời gian giữa các lần sao lưu nhật ký giao dịch hoặc tăng kích thước của tệp nhật ký giao dịch.

    Lượng dữ liệu bị mất có thể chấp nhận được. Như đã đề cập ở trên, có thể khôi phục dữ liệu về giao dịch cuối cùng nếu tệp dữ liệu bị mất. Tuy nhiên, nếu nhật ký giao dịch bị hỏng hoặc bị mất, bạn chỉ có thể khôi phục dữ liệu về điểm sao lưu nhật ký giao dịch cuối cùng. Giảm lượng thời gian giữa các lần sao lưu nhật ký giao dịch sẽ giảm lượng dữ liệu bị mất trong tình huống này.

Như bạn biết, tất cả dữ liệu quan trọng về trang web của bạn, cài đặt, bài viết, nhận xét và thông tin khác của chúng đều được lưu trữ trong cơ sở dữ liệu. Việc mất thông tin này có thể gây ra hậu quả rất nghiêm trọng cho dự án. Vì vậy, điều quan trọng là phải sao lưu kịp thời cơ sở dữ liệu mysql. Ngoài ra, những bản sao này có thể rất hữu ích khi di chuyển dự án sang máy chủ khác.

Trong hướng dẫn này, chúng ta sẽ xem cách sao lưu cơ sở dữ liệu mysql hoặc mariadb cũng như cách khôi phục thông tin trong cơ sở dữ liệu từ một bản sao. Ngoài ra, chúng tôi sẽ hướng dẫn bạn cách thiết lập tạo tự động bản sao sau một khoảng thời gian nhất định.

Tất cả những gì bạn cần để sao lưu mysql là truy cập vào máy chủ đang chạy hệ thống Linux, trên đó máy chủ cơ sở dữ liệu được cài đặt, cũng như tên cơ sở dữ liệu và các tham số truy cập.

Bạn có thể sử dụng tiện ích mysqldump để xuất thông tin từ cơ sở dữ liệu ở định dạng SQL. Đây là cú pháp của nó:

$ tùy chọn mysqldump cơ sở dữ liệu_name [tên_bảng] > file.sql

Theo mặc định, tiện ích sẽ xuất mọi thứ thành đầu ra tiêu chuẩn, vì vậy chúng ta cần chuyển hướng dữ liệu này đến một tệp mà chúng ta thực hiện bằng cách sử dụng toán tử ">". Các tùy chọn cho biết các thông số xác thực và vận hành, đồng thời tên của cơ sở dữ liệu và bảng cho biết dữ liệu cần được xuất. Bây giờ chúng ta hãy xem xét ngắn gọn các tùy chọn mà chúng ta sẽ sử dụng:

  • -MỘT- sao chép tất cả các bảng từ tất cả các cơ sở dữ liệu;
  • -Tôi- viết ra Thông tin thêm trong các bình luận;
  • -c- sử dụng tên cột cho câu lệnh INSERT;
  • -Một- bao gồm tất cả các tùy chọn có thể có trong câu lệnh CREATE TABLE;
  • -k- vô hiệu hóa khóa chính trong suốt thời gian sao chép;
  • -e- sử dụng phiên bản nhiều dòng của câu lệnh INSERT;
  • -f- tiếp tục ngay cả sau khi xảy ra lỗi;
  • -h- tên máy chủ nơi đặt máy chủ cơ sở dữ liệu, theo mặc định là localhost;
  • -N- không viết hướng dẫn tạo cơ sở dữ liệu;
  • -t- không viết hướng dẫn tạo bảng;
  • -d- không ghi dữ liệu bảng mà chỉ ghi cấu trúc của chúng;
  • -P- mật khẩu cơ sở dữ liệu;
  • -P- cổng máy chủ cơ sở dữ liệu;
  • -Q- đặt tất cả tên của bảng, cơ sở dữ liệu, trường trong dấu ngoặc kép;
  • -X- sử dụng cú pháp XML thay vì SQL;
  • -u- người dùng mà bạn muốn kết nối với cơ sở dữ liệu thay mặt họ.

Trong hầu hết các trường hợp, việc chúng tôi chỉ định tên người dùng, mật khẩu và tên cơ sở dữ liệu là đủ. Tiếp theo, hãy xem các ví dụ về cách làm việc với tiện ích này. Ví dụ, nhất lệnh đơn giản xuất cơ sở dữ liệu:

mysqldump -u tên người dùng -p cơ sở dữ liệu_name > data-dump.sql

Bạn sẽ cần nhập mật khẩu người dùng cơ sở dữ liệu và lệnh sẽ không xuất ra bất kỳ thứ gì khác vì chúng tôi đã gửi tất cả dữ liệu vào một tệp, nhưng bạn có thể xem thông tin sao lưu bằng lệnh này:

head -n 5 data-dump.sql

Nhưng nếu có bất kỳ lỗi nào xảy ra trong khi tạo bản sao, chúng sẽ được hiển thị trên màn hình và bạn sẽ biết ngay về chúng. Một tùy chọn phức tạp hơn là sao lưu mysql từ máy chủ khác, nếu bạn có quyền truy cập vào nó:

mysqldump -h Host -P port -u tên người dùng -p cơ sở dữ liệu tên > data-dump.sql

Việc sao chép bảng mysql có thể được thực hiện bằng cách thêm tên bảng vào cuối dòng:

mysqldump -u tên người dùng -p cơ sở dữ liệu_tên bảng_name> data-dump.sql

Ngoài ra, để thực hiện sao lưu tự động cơ sở dữ liệu mysql, bạn có thể cần đặt ngay mật khẩu; để thực hiện việc này, hãy chỉ định mật khẩu ngay sau tùy chọn -p, không có khoảng trắng:

mysqldump -u tên người dùng -ppassword cơ sở dữ liệu_name > data-dump.sql

Đôi khi, chúng tôi có thể thực hiện sao lưu theo cách thủ công, nhưng điều này không hoàn toàn thuận tiện vì còn có những việc quan trọng khác phải làm. Do đó, chúng tôi sử dụng bộ lập lịch cron để tự động hóa quy trình. Có hai cách: một cách đơn giản hơn và một cách phức tạp hơn nhưng chính xác. Giả sử chúng ta cần tạo một bản sao lưu hàng ngày, sau đó chỉ cần tạo một tập lệnh trong thư mục /etc/cron.daily/ với nội dung sau:

sudo vi /etc/cron.daily/mysql-backup

!/bin/bash
/usr/bin/mysqldump -u tên người dùng -ppassword cơ sở dữ liệu_name > /backups/mysql-dump.sql

Thư mục /backups/mysql-dump.sql phải được thay thế bằng thư mục sao lưu của bạn. Tất cả những gì còn lại là cấp quyền cho tập lệnh thực thi:

chmod ugo+x /etc/cron.daily/mysql-backup

Thêm dòng sau vào tệp đã mở và lưu các thay đổi:

30 2 * * * /usr/bin/mysqldump -u tên người dùng -ppassword cơ sở dữ liệu_name > /backups/mysql-dump.sql

Lệnh sẽ được thực thi vào lúc 2:30 hàng ngày, điều này rất thuận tiện vì vào ban đêm thường máy chủ ít tải hơn. Như bạn hiểu, số đầu tiên là phút, số thứ hai là giờ, số thứ ba là ngày, sau đó là tuần và tháng. Dấu hoa thị có nghĩa là tham số này không có giá trị.

Khôi phục từ bản sao lưu

Khôi phục bản sao lưu mysql hoặc mariadb từ tệp SQL hiện có cũng rất dễ dàng. Vì nó đã được sử dụng cú pháp sql chúng ta có thể thực hiện tất cả các lệnh một cách đơn giản bằng cách sử dụng máy khách mysql tiêu chuẩn.

Đầu tiên bạn cần tạo căn cứ mới dữ liệu. Để thực hiện việc này, hãy đăng nhập vào máy chủ mysql với quyền siêu người dùng:

gốc mysql -u -p

Sau đó tạo một cơ sở dữ liệu mới, ví dụ với tên new_database, nếu cơ sở dữ liệu đã tồn tại thì bạn không cần thực hiện việc này:

mysql> TẠO CƠ SỞ DỮ LIỆU new_database;

cơ sở dữ liệu người dùng mysql -u -p< data-dump.sql

Để xuất, chúng tôi đã gửi dữ liệu đầu ra tiêu chuẩn tới một tệp, nhưng điều đó lại xảy ra ở đây hoạt động ngược lại, dữ liệu từ tệp sẽ được gửi đến đầu vào tiêu chuẩn của chương trình. Lệnh được thực thi thành công sẽ không xuất ra bất cứ thứ gì và để đảm bảo mọi thứ đều thành công, chỉ cần xem nội dung của cơ sở dữ liệu.

kết luận

Bây giờ bạn đã biết cách sao chép cơ sở dữ liệu mysql cũng như cách khôi phục thông tin đã sao chép. Chúng tôi đã đề cập đến tất cả các tùy chọn mysqldump có thể có để bạn có thể tùy chỉnh tiện ích theo cách mình cần. Sao lưu cơ sở dữ liệu Mysql rất tâm điểm và trong một số trường hợp nhất định có thể tiết kiệm rất nhiều thời gian, vì vậy hãy nhớ thiết lập nó trên máy chủ của bạn!

Một trong những nhiệm vụ quan trọng nhất mà quản trị viên cơ sở dữ liệu phải liên tục thực hiện là thực hiện sao lưu. Nếu có sự cố xảy ra, nhiệm vụ của DBA là khôi phục và chạy máy chủ nhanh nhất có thể. Mất năng suất hay sao Tệ hơn nữa,Mất dữ liệu có thể rất tốn kém cho một doanh nghiệp.

Nếu bạn muốn có bản sao lưu cơ sở dữ liệu cập nhật, bạn muốn sử dụng cấu hình Đĩa RAID, cung cấp khả năng tạo tấm gương nhằm mục đích bảo vệ dữ liệu, nhưng đây không phải là thuốc chữa bách bệnh. Mảng RAID chỉ là bước đầu tiên trong việc bảo vệ dữ liệu khỏi bị mất. Tùy thuộc vào cấu hình mảng RAID, một hoặc thậm chí một số ổ cứng phải thất bại trước khi mất dữ liệu vĩnh viễn. Ngoài ra, có thể sử dụng đĩa trao đổi nóng và đĩa dự phòng nóng để đảm bảo rằng máy chủ tiếp tục hoạt động mà không cần tắt ngay cả khi nó bị lỗi. xây dựng một khó khănđĩa. Điều quan trọng mà DBA cần hiểu là mảng RAID có thể bảo vệ dữ liệu trong trường hợp ổ cứng bị lỗi. Điều gì xảy ra nếu có trường hợp khẩn cấp (hỏa hoạn, lũ lụt, cướp, v.v.)? Các tệp cơ sở dữ liệu của bạn có bị hỏng do lỗi phần mềm hoặc lỗi phần cứng không? Và cuối cùng, điều gì sẽ xảy ra nếu người dùng (hoặc chính DBA) xóa nhầm dữ liệu đột nhiên cần thiết trong tương lai? Cấu hình RAID sẽ không giúp ích gì trong những trường hợp này.

Điều quan trọng nhất là quản trị viên luôn có thể thay thế máy chủ, nhưng việc khôi phục dữ liệu của máy chủ này là vô cùng khó khăn, đôi khi đơn giản là không thể.

Hãy xem xét một số loại sao lưu cơ sở dữ liệu.

SQL Server hỗ trợ ba loại sao lưu: Toàn bộ, Khác biệt hoặc Khác biệt và Sao chép nhật ký. Ngoài ba loại bản sao lưu chính hoạt động trên toàn bộ cơ sở dữ liệu, còn có một số loại bản sao lưu bổ sung được sử dụng để sao chép một tệp hoặc một nhóm tệp.

Sao lưu toàn bộ - Tạo bản sao lưu đầy đủ của tất cả các phạm vi cơ sở dữ liệu. Nếu DBA khôi phục cơ sở dữ liệu bằng bản sao lưu đầy đủ, nó sẽ chỉ cần bản sao gần đây nhất mà nó đã tạo. Tuy nhiên, sao lưu toàn bộ là loại sao lưu chậm nhất.

Sao lưu vi sai - Chỉ sao lưu những phạm vi đã thay đổi kể từ lần sao lưu đầy đủ gần đây nhất. Nếu DBA khôi phục cơ sở dữ liệu bằng bản sao lưu vi sai, nó sẽ cần bản sao lưu đầy đủ mới nhất và bản sao lưu vi sai cuối cùng mà nó đã tạo. Sao lưu vi sai nhanh hơn nhiều nhưng cần nhiều thời gian phục hồi hơn vì chúng yêu cầu cả bản sao lưu toàn bộ và bản sao lưu vi sai.

Sao lưu nhật ký - Tạo bản sao lưu nhật ký giao dịch từ bản sao lưu đầy đủ cuối cùng hoặc bản sao nhật ký giao dịch trước đó. DBA sẽ (hoặc có thể không) cần tạo bản sao lưu nhật ký giao dịch tùy thuộc vào mô hình khôi phục mà nó sử dụng. Nếu anh ta khôi phục cơ sở dữ liệu bằng bản sao lưu đầy đủ và bản sao nhật ký giao dịch, anh ta sẽ cần bản sao lưu đầy đủ mới nhất và tất cả các bản sao lưu nhật ký giao dịch (theo thứ tự) để khôi phục.

Cần lưu ý rằng việc sao lưu thường được thực hiện trong khi cơ sở dữ liệu đang chạy (trực tuyến). Quá trình này được gọi là "sao lưu mờ" vì nó được thực hiện trong một khoảng thời gian. Nếu có bất kỳ thay đổi nào xảy ra trong khi phạm vi cơ sở dữ liệu đang được sao lưu thì quá trình sao chép tất nhiên sẽ tiếp tục. Để duy trì tính toàn vẹn, các bản sao lưu đầy đủ và khác biệt sẽ ghi lại phần tệp nhật ký giao dịch tương ứng với thời gian từ khi bắt đầu đến khi kết thúc bản sao lưu.

SQL Server có thể sao lưu vào một tệp nằm trên ổ cứng của bạn trên ổ đĩa mạng, trên một thiết bị băng từ.

Tất cả những thay đổi được thực hiện đối với cơ sở dữ liệu nhất thiết phải được ghi lại trong nhật ký giao dịch. Trong trường hợp xảy ra thảm họa (chẳng hạn như mất điện hoặc màn hình xanh), nhật ký giao dịch có thể được sử dụng để khôi phục các thay đổi đối với cơ sở dữ liệu. Ngoài ra, các điểm kiểm tra được sử dụng để ghi tất cả các trang RAM vào ổ cứng, từ đó giảm thời gian cần thiết để khôi phục cơ sở dữ liệu. Vì vậy, nếu ở điểm kiểm soát Tất cả các trang dữ liệu đều được ghi vào ổ cứng, tại sao lại cần lưu trữ thông tin giao dịch? Để trả lời câu hỏi này, chúng ta sẽ phải nói về các mô hình phục hồi.

Mỗi cơ sở dữ liệu chạy trên SQL Server có thể tuân theo một trong ba mô hình khôi phục: Full, Bulk_Logged và Simple.

Người mẫu hồi phục hoàn toàn cung cấp số lớn nhất các lựa chọn trong trường hợp dữ liệu bị hỏng. Nếu tất cả các giao dịch được ghi lại và chế độ khôi phục hoàn toàn được sử dụng thì các giao dịch sẽ được lưu giữ trong nhật ký cho đến khi chúng được sao lưu. Sau khi cơ sở dữ liệu được sao lưu, dung lượng ổ đĩa được sử dụng để lưu trữ thông tin giao dịch sẽ trở nên trống và sau đó có thể được sử dụng để ghi lại các giao dịch mới. Vì tất cả các giao dịch đều được sao lưu nên việc sao lưu toàn bộ sẽ giúp khả năng phục hồi cơ sở dữ liệu tại một "thời điểm nhất định", chỉ sử dụng những giao dịch diễn ra trước thời điểm đó. Ví dụ: chúng tôi có thể thực hiện khôi phục bằng cách sử dụng bản sao lưu đầy đủ và sau đó khôi phục tất cả các bản sao của nhật ký giao dịch đến một thời điểm nhất định trước khi bất kỳ dữ liệu quan trọng nào bị xóa.

Nếu mô hình khôi phục hoàn toàn theo dõi tất cả các thay đổi được thực hiện đối với cơ sở dữ liệu và cho phép chúng tôi khôi phục tất cả các giao dịch vào bất kỳ thời điểm nào thì câu hỏi sẽ đặt ra - tại sao không luôn sử dụng mô hình này? Vì tất cả các câu lệnh phải được cam kết đầy đủ nên đầu ra có thể là một tệp nhật ký khá “nặng”. Ngoài ra, các lệnh như BULK INSERT sẽ làm chậm máy chủ vì tất cả các thay đổi chúng thực hiện đều phải được ghi lại.

Mô hình ghi nhật ký hàng loạt (bulk_logged) khá giống với mô hình khôi phục hoàn toàn, với một số bổ sung và ưu điểm. Giống như mô hình khôi phục hoàn toàn, mô hình ghi nhật ký hàng loạt cũng ghi lại tất cả các câu lệnh UPDATE, DELETE và INSERT. Tuy nhiên, đối với một số lệnh nhất định, mô hình này chỉ ghi lại thao tác đã diễn ra. Điều này đúng với các lệnh như BULK INSERT, bcp, CREATE INDEX, SELECT INTO, WRITETEXT và UPDATETEXT. Mô hình ghi nhật ký hàng loạt tương tự như mô hình khôi phục hoàn toàn ở chỗ nó không sử dụng lại (ghi đè) không gian nhật ký cho đến khi tất cả các giao dịch được sao lưu.

Không giống như mô hình khôi phục hoàn toàn, nếu nhật ký giao dịch chứa các báo cáo hàng loạt thì bạn không thể thực hiện khôi phục tại một thời điểm mà bạn chỉ phải khôi phục đến cuối toàn bộ nhật ký. Ngoài ra, bản sao lưu nhật ký cơ sở dữ liệu có thể có kích thước lớn vì trong mô hình ghi nhật ký hàng loạt, quá trình sao lưu nhật ký phải sao chép tất cả các phạm vi đã thay đổi.

Lợi ích của mô hình này là các tệp nhật ký giao dịch cho cơ sở dữ liệu có thể nhỏ hơn nếu bạn sử dụng nhiều câu lệnh batch. Ngoài ra, các câu lệnh batch được thực thi nhanh hơn, vì chỉ thực tế là việc thực thi câu lệnh này diễn ra mới được ghi lại chứ không phải bản thân thay đổi trong cơ sở dữ liệu.

Một mô hình phục hồi đơn giản. Không giống như mô hình ghi nhật ký đầy đủ và hàng loạt, mô hình khôi phục đơn giản không sử dụng bản sao lưu nhật ký giao dịch. Trong mô hình này, nhật ký giao dịch thường bị cắt bớt (cắt ngắn là quá trình loại bỏ các giao dịch cũ khỏi nhật ký) một cách tự động. Mô hình khôi phục đơn giản có thể sử dụng các bản sao lưu đầy đủ và khác biệt.

quản lý tài liệu quản lý cơ sở dữ liệu

Xin chào các độc giả thân mến của trang blog. Hôm nay tôi muốn nói về khái niệm sao lưu các tệp và cơ sở dữ liệu tài nguyên của bạn.

Có, tất nhiên, nhiều chủ nhà () thực hiện sao lưu tự động và nếu có điều gì xảy ra, bạn có thể nhờ họ giúp đỡ. Nhưng như người ta nói: hãy dựa vào chủ nhà nhưng đừng tự mình phạm sai lầm.

Những tình huống trong đó bạn có thể mất dữ liệu dự án của mình, bạn có thể trích dẫn rất nhiều, và chắc hẳn bản thân bạn cũng đã từng nghe về nó. Bạn không nên dựa vào lòng thương xót của chủ nhà. Bạn cần tự tạo một bản sao lưu và lưu trữ trên máy tính của mình.

Điều này sẽ đáng tin cậy và bình tĩnh hơn nhiều. Rốt cuộc, nếu dự án Internet của bạn đã sụp đổ và không có gì để khôi phục nó, thì hãy thử vận ​​​​may trong Webarchive (viết chi tiết hơn về nó ở đây), vì nó liên tục tạo ảnh chụp nhanh của phần lớn các trang web trên Internet .

Cách sao lưu file website bằng FileZilla

Như bạn có thể đã biết, trang webđược tạo trên cơ sở của bất kỳ công cụ nào, có thể là Joomla, WordPress hoặc SMF, gồm hai phần quan trọng:

  1. Đầu tiên, đây là các tệp thực tế của công cụ và các tiện ích mở rộng được cài đặt trong đó, hình ảnh và...
  2. Và thứ hai, đây là những cơ sở dữ liệu nơi lưu trữ văn bản của các bài báo, bài đăng, v.v.

Cơ sở dữ liệu (DB) cũng có thể lưu trữ cài đặt cho một số thông số của động cơ và các phần mở rộng của nó. Tôi đã viết về điều này trong một bài viết về. Một tổ chức như vậy có nhiều lợi thế.

Vì vậy, nhiệm vụ của chúng tôi là hỗ trợ tất cả sự giàu có này. Hơn nữa, tần suất sao lưu cơ sở dữ liệu thường được xác định bởi tần suất thông tin mới xuất hiện trong dự án của bạn. Cách tối ưu theo tôi là sao chép cơ sở dữ liệu hàng ngày. May mắn thay, chúng thường không nặng lắm và việc sao lưu như vậy được thực hiện rất nhanh chóng. Có lẽ bạn chỉ nên cập nhật các bản sao lưu của tệp dự án sau khi đã thực hiện một số thay đổi đối với chúng: cài đặt một số tiện ích mở rộng, cập nhật phiên bản công cụ, v.v.

Có lẽ hãy bắt đầu với trợ lý đầu tiên của chúng tôi được gọi là FileZilla, mặc dù bạn có thể sử dụng bất kỳ trình quản lý FTP nào khác thay thế, tối đa , nhưng tôi thích cách tạo phần mềm miễn phí cụ thể này hơn. Tôi đã mô tả chúng một cách chi tiết trong bài viết trên, vì vậy chúng tôi sẽ không đi sâu vào vấn đề này một cách chi tiết (nếu bạn muốn, hãy tự đọc, đặc biệt là về việc lưu trữ mật khẩu trong chương trình này và các vấn đề liên quan đến nó).

Hãy xem cách thực hiện tập tin sao lưu với sự giúp đỡ của cô ấy. Khi bạn có quyền truy cập vào máy chủ lưu trữ của mình, bạn phải truy cập thư mục gốc(thường được gọi là public_html hoặc htdocs). Máy chủ từ xa trong Filezil được hiển thị ở bên phải và nội dung máy tính của bạn được hiển thị ở bên trái.

Nếu bạn định tạo bản sao lưu thường xuyên, thì tôi khuyên bạn nên tạo một thư mục trên ổ cứng máy tính của bạn có tên "biết nói" và bên trong nó có các thư mục chứa tên dự án của bạn. Trong các thư mục này, bạn có thể tạo các thư mục với ngay hiện tại, nơi các tệp dự án web của bạn sẽ được sao chép vào đó. Nhờ đó, việc điều hướng qua các bản sao lưu và xóa những bản sao lưu đã lỗi thời sẽ dễ dàng hơn để giải phóng dung lượng.

Bây giờ mở ở phía bên trái Thư mục FileZilla, nơi quá trình sao lưu sẽ được thực hiện và ở bên phải - thư mục gốc của trang web. Tôi khuyên bạn nên kích hoạt khả năng hiển thị Các tệp ẩn: V thực đơn trên cùng chọn “Máy chủ” - "Buộc hiển thị các tập tin ẩn".

Điều này là cần thiết để các tệp ẩn, chẳng hạn như .htaccess, được đưa vào bản sao lưu của bạn. Tiếp theo, bạn chọn tất cả các đối tượng của trang web trong thư mục gốc bằng cách giữ Nút chuyển đổi trên bàn phím. Nhấp chuột phải vào các đối tượng đã chọn và chọn từ danh mụcđoạn văn "Tải xuống".

Quá trình sao lưu tệp sẽ bắt đầu, quá trình này có thể mất khá nhiều thời gian - tùy thuộc vào số lượng và tổng trọng lượng của các đối tượng được sao chép, cũng như tốc độ của máy chủ. Nhưng bạn không cần phải xem quá trình tạo bản sao lưu. Tất nhiên, trong khi sao chép, bạn có thể tiếp tục công việc của mình mà không cần đóng Filezilla.

Khi kết thúc quá trình, bạn sẽ cảm thấy tốt hơn gói mọi thứ đã tải xuống vào một kho lưu trữ, vì điều này có thể làm giảm đáng kể khối lượng và số lượng đối tượng được lưu trữ. Sau khi lưu trữ, bạn chỉ để lại một kho lưu trữ và xóa mọi thứ đã tải xuống - mọi thứ sẽ đẹp và gọn gàng. Để khôi phục các tệp trang web từ bản sao lưu như vậy: bạn sẽ cần giải nén nó và sao chép nội dung của kho lưu trữ vào máy chủ theo cách tương tự như mô tả ở trên.

Đúng, nếu bạn đóng gói các tập tin vào kho lưu trữ ZIP, sau đó nó có thể được tải lên máy chủ và giải nén ở đó (được mô tả ở đây cách thực hiện). Nhưng đồng thời, một số rắc rối có thể phát sinh sau này có thể giải quyết được. PHP có nghĩa là(đọc liên kết về quyền truy cập và thay đổi Cmod theo chương trình).

Cách tạo bản sao lưu cơ sở dữ liệu bằng phpMyAdmin

Hãy xem cách sao lưu cơ sở dữ liệu bằng tập lệnh phpMyAdmin. Nó có thể được truy cập từ bảng điều khiển lưu trữ của bạn. Nếu có, để khởi chạy phpMyAdmin, bạn cần đi theo đường dẫn sau: tìm khu vực có tên “Cơ sở dữ liệu” trên trang chính cPanel và nhấp vào biểu tượng của tập lệnh này ở đó.

Nếu máy chủ của bạn không có quyền truy cập vào tập lệnh này thì bạn Bạn có thể tự mình làm nó vào thư mục gốc của trang web và truy cập cơ sở dữ liệu của bạn thông qua nó. Bạn có thể tải xuống chương trình từ đây.

Sau khi tải kho lưu trữ xuống máy tính, bạn phải giải nén nó và tải thư mục kết quả lên (để đơn giản, trước tiên bạn có thể đổi tên nó thành phpmyadmin) vào thư mục gốc. Nói chung là vậy thôi. Bây giờ tất cả những gì còn lại là vào thanh địa chỉ trình duyệt của bạn URL sau: http://vash_sait.ru/phpmyadmin

Trong mọi trường hợp, cửa sổ chương trình PhpMyAdmin sẽ mở ra, nhờ đó chúng tôi có thể dễ dàng sao lưu cơ sở dữ liệu dự án của bạn. Đây là trang chính của chương trình (trên một số trang tôi có một số trang Phiên bản lỗi thời, nhưng tôi đã quen với nó):

Nếu bạn đang ở bất kỳ trang phpMyAdmin nào khác, thì để đến trang chính, bạn cần nhấp vào ngôi nhà được đánh dấu trong hình. Trên một tài khoản với máy chủ lưu trữ, bạn có thể có nhiều cơ sở dữ liệu và do đó trước tiên bạn phải chọn từ menu bên trái căn cứ, mà bạn muốn sao lưu.

Bạn có thể xem danh sách cơ sở dữ liệu trong cửa sổ chương trình ở bên trái (dưới biểu tượng ngôi nhà). Để tạo bản sao lưu cơ sở dữ liệu, bạn cần nhấp vào tab "Xuất khẩu" phía trên danh sách các bảng.

Ở cuối trang mở ra, hãy chọn hộp "gzip". Và nhấp vào nút "ok".

Đúng, đây là phiên bản cũ (tiện lợi) của tập lệnh. Giờ đây, theo mặc định, bạn được đề nghị tải xuống nhanh cơ sở dữ liệu mà không cần nén và nếu bạn muốn tùy chỉnh thứ gì đó (bao gồm kích hoạt tính năng nén gzip của nó một cách nhanh chóng), bạn sẽ cần phải chọn lại hộp “Bình thường” và chọn gzip trong số nhiều cài đặt khác, theo tôi thì không thuận tiện lắm.

Kết quả là, sau một thời gian (tùy thuộc vào tốc độ của máy chủ, tải của nó và kích thước cơ sở dữ liệu của bạn), một hộp thoại sao chép tiêu chuẩn sẽ mở ra, trong đó bạn phải chọn vị trí lưu bản sao lưu của cơ sở dữ liệu này.

Khôi phục cơ sở dữ liệu từ bản sao lưu đã tạo trước đó

Để khôi phục cơ sở dữ liệu từ bản sao lưu, bạn cần tiến hành như sau. Trước tiên, bạn phải xóa tất cả các bảng trong cơ sở dữ liệu hiện có. Để thực hiện việc này, bạn đăng nhập vào chương trình phpMyAdmin, chọn cơ sở dữ liệu mong muốn mà bạn muốn khôi phục ở cột bên trái.

Trong cửa sổ mở ra các bảng của cơ sở dữ liệu này, hãy đi xuống phía dưới cùng và bên dưới danh sách các bảng, hãy nhấp vào "Chọn tất cả". Sau đó, một lần nữa ở cuối trang, chọn mục “Đã đánh dấu” từ danh sách thả xuống "Xóa bỏ".

Một cửa sổ sẽ mở ra với danh sách tất cả các bảng sẽ bị xóa. Bạn bấm vào nút “Có”.

Bây giờ bạn có thể khôi phục cơ sở dữ liệu từ bản sao lưu được tạo trước đó. Để thực hiện việc này, hãy chọn dấu trang "Nhập khẩu":

Trong cửa sổ mở ra, hãy nhấp vào nút “Chọn tệp” và tìm bản sao lưu được tạo trước đó của cơ sở dữ liệu này trên ổ cứng của bạn. Nhấp vào nút “Chuyển tiếp” (hoặc “OK” trong các phiên bản cũ hơn của tập lệnh) ở cuối trang và đợi quá trình tải xuống hoàn tất (thời gian lại phụ thuộc vào tốc độ của máy chủ và kích thước của cơ sở dữ liệu) . Tất cả.

Có bản sao lưu tệp và bản sao lưu cơ sở dữ liệu cập nhật trên máy tính, bạn có thể ngủ yên. Chúng cũng có thể được sử dụng khi di chuyển một trang web sang một dịch vụ lưu trữ khác.

Chuyển một trang web sang một hosting mới

Vì vậy, làm thế nào chúng ta có thể chuyển trang web đến một vị trí mới? Sau khi mua hosting, bạn sẽ được cung cấp dữ liệu để truy cập vào máy chủ lưu trữ qua FTP, bạn sẽ nhập dữ liệu này vào chương trình Filezila để có quyền truy cập vào máy chủ.

Giải nén trước sao lưu dữ liệu trên máy tính của bạn và đặt chúng vào thư mục gốc, tương tự như quy trình được mô tả ở trên. Không cần đợi tệp được sao chép, bạn có thể bắt đầu khôi phục các bảng cơ sở dữ liệu từ bản sao lưu được tạo ở vị trí cũ của tài nguyên.

Nhưng để làm được điều này, trước tiên bạn cần phải chuyển đến một máy chủ lưu trữ mới (nơi các bảng bạn đã lưu sẽ được sao chép sau). Bạn sẽ học cách thực hiện việc này từ bài viết về phpMyAdmin, liên kết mà tôi đã cung cấp ở trên. Xin lưu ý rằng rất có thể bạn sẽ không thể chọn cùng tên cho cơ sở dữ liệu và người dùng của nó như ở nơi cư trú trước đây của bạn. Thực tế là dịch vụ lưu trữ thường thêm thông tin đăng nhập của bạn vào tên cơ sở dữ liệu mà bạn chọn.

Vì vậy, sau khi sao chép xong các tập tin và cơ sở dữ liệu, trước khi truy cập trang web từ trình duyệt, bạn nên nhập thông tin thích hợp thay đổi cài đặt công cụ trang web của bạn. Để thực hiện việc này, một lần nữa bạn sẽ cần truy cập vào các tệp trang web qua FTP và thực hiện các thay đổi đối với tệp cấu hình của một hoặc một công cụ khác (Joomla, WordPress, SMF, v.v.). Chúng ta hãy xem xét các cài đặt riêng cho từng động cơ.

Những gì cần thay đổi trong cài đặt WordPress khi di chuyển nó

Chuyển blog sang WordPress sẽ yêu cầu thay đổi cài đặt sau. Bạn sẽ cần mở file để chỉnh sửa bằng FileZilla WP-CONFIG.PHP, nằm trong thư mục gốc trên máy chủ. Trong đó bạn cần chỉnh sửa các dòng chịu trách nhiệm về tên của cơ sở dữ liệu và người dùng.

// ** Cài đặt MySQL - Bạn có thể lấy chúng từ máy chủ của mình ** // /** Tên cơ sở dữ liệu cho WordPress */ xác định("WP_CACHE", true); // Được thêm bởi WP-Cache Manager xác định ("DB_NAME", "nhập tên mới cho cơ sở dữ liệu của bạn tại đây"); /** Tên người dùng MySQL */ xác định("DB_USER", "nhập tên người dùng mới vào đây"); /** Mật khẩu cơ sở dữ liệu MySQL */ xác định("DB_PASSWORD", "anipiimaaxai"); /** Máy chủ MySQL - đôi khi bạn cần thay đổi giá trị này, ví dụ: trên Masterhost */ xác định("DB_HOST", "localhost"); /** Mã hóa cơ sở dữ liệu được sử dụng khi tạo bảng. */ định nghĩa("DB_CHARSET", "utf8"); /** Ánh xạ cơ sở dữ liệu. KHÔNG THAY ĐỔI GIÁ TRỊ NÀY. */ định nghĩa("DB_COLLATE", "");

Sau khi chỉnh sửa, hãy lưu lại tệp này và bạn có thể xem xét rằng Di chuyển WordPress TRÊN lưu trữ mớiđã diễn ra thành công. Nếu bạn thay đổi Tên miền, thì để mọi thứ hoạt động chính xác, bạn sẽ cần mở bản sao lưu của cơ sở dữ liệu có phần mở rộng SQL trong soạn thảo văn bản(giải nén nó từ kho lưu trữ gzip).

Tiếp theo, bằng cách sử dụng tính năng “tìm kiếm và thay thế” tích hợp sẵn, hãy tìm tất cả các tham chiếu đến URL cũ của blog của bạn và thay thế địa chỉ mới của nó (ví dụ: vasy.ru bằng vova.ru). Sau đó lưu tập tin với bản sao lưu DB và “Nhập” nó vào chương trình phpMyAdmin.

Sau khi đăng nhập vào khu vực quản trị WordPress, bạn sẽ cần phải nhập đúng đường dẫn tuyệt đối vào các đối tượng blog của bạn (nó đã thay đổi vì bạn đã chuyển WordPress sang một dịch vụ lưu trữ khác). Đường dẫn tuyệt đối được đặt thông qua tham số UPLOAD_PATH trong cài đặt WP chung. Bạn có thể truy cập các cài đặt này bằng cách thêm vào URL trang chủđường dẫn sau:

/wp-admin/options.php

Đối với địa chỉ blog của tôi, nó sẽ trông như thế này:

Https://site/wp-admin/options.php

Nhưng trước tiên bạn cần đăng nhập vào quản trị viên WordPress. đọc liên kết được cung cấp.

Những gì cần thay đổi trong cài đặt Joomla khi thay đổi hosting

Việc chuyển một trang web Joomla sang một dịch vụ lưu trữ khác sẽ yêu cầu thay đổi các cài đặt sau. Bạn sẽ cần phải mở để chỉnh sửa CẤU HÌNH.PHP trong thư mục gốc của máy chủ. Tìm các dòng trong đó chịu trách nhiệm truy cập vào cơ sở dữ liệu:

Var $user = "nhập tên người dùng mới vào đây"; var $db = "nhập tên cơ sở dữ liệu mới của bạn vào đây";

Ngoài ra, bạn cũng cần thay đổi đường dẫn tuyệt đối tới các thư mục lưu trữ nhật ký và Hồ sơ tạm thời trong Joomla. Bạn cần thay đổi nó trong những dòng này:

Var $log_path = "/home/xxxxx/public_html/logs"; var $tmp_path = "/home/xxxx/public_html/tmp";

Chuyển diễn đàn SMF sang hosting mới

Di chuyển diễn đàn sang SMF sẽ yêu cầu thay đổi một số cài đặt. Bạn sẽ cần phải mở nó để chỉnh sửa CÀI ĐẶT.PHP từ thư mục gốc của diễn đàn. Cũng giống như trường hợp của Joomla, ở đây bạn không chỉ cần thay đổi tên cơ sở dữ liệu và người dùng SMF mà còn cả đường dẫn tuyệt đối đến thư mục diễn đàn và thư mục SOURCES của diễn đàn.

########## Thông tin cơ sở dữ liệu ########## $db_server = "localhost"; $db_name = "nhập tên cơ sở dữ liệu mới của bạn vào đây"; $db_user = "nhập tên người dùng mới vào đây"; $db_passwd = "hoighaebaeto"; $db_prefix = "smf_"; $db_persist = 0; $db_error_send = 1; ########## Thư mục/Tệp ########## # Lưu ý: Những thư mục này không cần phải thay đổi trừ khi bạn di chuyển mọi thứ. $boarddir = "/home/xxxx/public_html/diễn đàn"; # Đường dẫn tuyệt đối đến thư mục của diễn đàn. (không chỉ "."!) $sourcedir = "/home/xxxx/public_html/forum/Sources"; # Đường dẫn đến thư mục Nguồn.

Nhưng bên cạnh đó, sau khi chuyển SMF sang hosting mới, bạn sẽ cần thay đổi đường dẫn tuyệt đối đến thư mục được cài đặt trong đó. khoảnh khắc này. Để thực hiện việc này, bạn cần đi tới khu vực quản trị diễn đàn và chọn “Chủ đề hiện tại” từ cột bên trái. Trong cửa sổ mở ra, trong vùng “Thư mục chủ đề”, bạn nhập đường dẫn tuyệt đối đến thư mục mong muốn.

Cách bắt đầu làm việc với một trang web ngay sau khi chuyển nó sang hosting mới

Bạn đã đính kèm trang web của bạn (trong trường hợp của tôi) vào đó. Hoặc bạn, theo quy định trên, đã thực hiện chuyển khoản. Về nguyên tắc thì không thành vấn đề nhưng dù sao bạn cũng sẽ phải liên kết máy chủ mới với một tên miền. Để thực hiện việc này, bạn sẽ tìm thấy máy chủ mới của mình trong bảng điều khiển của nhà đăng ký (nơi bạn đã mua tên miền).

Bạn có thể xem địa chỉ máy chủ DNS trong thư mà nhà cung cấp dịch vụ lưu trữ mới sẽ gửi cho bạn. Chính xác là ở đâu bạn cần nhập các DNS này vào bảng đăng ký, thật khó để nói chắc chắn, nhưng nó không nên bị chôn sâu và nằm ở nơi dễ thấy. Phương án cuối cùng là liên hệ với bộ phận hỗ trợ kỹ thuật.

Vì vậy, mặc dù việc chuyển trang web sang máy chủ mới thành công, bạn vẫn phải đợi từ vài giờ đến vài ngày trong khi tên miền của bạn đang được ủy quyền. Cho đến khi quá trình này hoàn tất, tài nguyên của bạn sẽ không có sẵn ở vị trí mới.

Đôi khi chủ sở hữu dịch vụ lưu trữ có thể chỉ ra trong thư một địa chỉ kỹ thuật mà tại đó bạn có thể truy cập tài nguyên của mình trong khi các bản ghi trên tất cả các máy chủ DNS trên Internet được cập nhật. Nhưng điều này không phải lúc nào cũng xảy ra. Ngoài ra, ví dụ: đối với WordPress, địa chỉ kỹ thuật sẽ không cho phép bạn bắt đầu làm việc hoàn toàn với blog bạn vừa chuyển, vì công cụ này bị ràng buộc chặt chẽ với tên miền.

Nhưng chủ sở hữu máy chủ luôn cho biết địa chỉ IP của máy chủ mới của bạn trong thư. Sử dụng nó, bạn có thể truy cập tài nguyên của mình không cần chờ đăng ký DNS. Nhưng trong trường hợp này, chỉ bạn mới có quyền truy cập và chỉ trên máy tính mà bạn thực hiện các cài đặt được mô tả bên dưới. Vì vậy, bạn cần phải làm như sau:

  1. sử dụng bất kỳ trình quản lý tệp nào, mở để chỉnh sửa (theo liên kết này, bạn sẽ tìm thấy bài viết chi tiết về vị trí của tệp này, cách tìm thấy nó trong Windows 7 và những gì nên viết trong đó), nằm trong đường dẫn sau: c:\ Windows\System32\drivers\etc\hosts
  2. cuối cùng nội dung HOSTS bạn cần thêm dòng: 109.77.43.4 site, ở đầu có địa chỉ IP của máy chủ mới và sau đó, cách nhau bằng dấu cách, tên miền
  3. lưu tệp này và bạn có thể nhập vào trình duyệt của mình địa chỉ tài nguyên mà bạn vừa chuyển một cách an toàn (bạn có thể cần đặt lại bộ đệm DNS trên máy tính của mình - hãy đọc về điều này trong bài viết ngay phía trên về tệp Máy chủ)

Do đó, không cần đợi miền được ủy quyền, bạn đã có thể kiểm tra chức năng của tài nguyên được chuyển và nếu cần, hãy sửa mọi thứ trước khi tài nguyên đó có sẵn cho tất cả khách truy cập khác. Sau khi miền được ủy quyền, bạn sẽ cần xóa dòng đã thêm trong HOSTS.

Bạn cũng có thể xem video về chủ đề này từ một người xây dựng trang web nổi tiếng trong RuNet:

Vâng, và một lựa chọn video hướng dẫn di chuyển trang web Joomla CMSđể lưu trữ Tôi khuyên bạn nên xem xét. Chúng sẽ được phát lần lượt một cách tự động và nếu muốn, bạn có thể chuyển sang bài học tiếp theo bằng nút tương ứng trên bảng trình phát hoặc chọn bài học đúng từ menu thả xuống ở góc trên bên trái của cửa sổ trình phát:

Thích xem!

Chúc bạn may mắn! Hẹn gặp lại bạn sớm trên các trang của trang blog

Bạn có thể xem thêm video bằng cách vào
");">

Bạn có thể quan tâm