Announcement

Collapse
No announcement yet.

MYSQL Backup dữ liệu từng phần ???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MYSQL Backup dữ liệu từng phần ???

    Mình gặp một tình huống thế này:

    Hệ thống có một máy chủ chạy MySQL trên CentOS. Trong đó có máy A là máy chủ chính, máy B là máy phụ.
    Máy A chịu trách nhiệm giải quyết toàn bộ request của hệ thống về dữ liệu. Còn máy B chỉ là máy backup dữ liệu từ máy A theo một chu kì nhất định.
    Mỗi ngày cứ 6h thì máy B sẽ backup dữ liệu từ A 1 lần (0h,6h,12h,18h,...)
    Cứ theo chu kì này thì sẽ phát sinh một vấn đề, nếu lỡ như máy B backup xong lúc 6h, tới 9h máy A bị trục trặc và dừng hoạt động. Vậy dữ liệu sẽ bị mất trong khoảng từ 6h-9h của ngày hôm đó.

    Câu hỏi đặt ra là: Với MySQL liệu ta có thể update theo kiểu ghép mảnh không, ý mình là thay vì backup nguyên khối lớn, mình sẽ cho backup dữ liệu đệm (gọi là tmdb chẳng hạn) trong khoản chu kì cứ 30p (và chỉ lấy những dữ liệu mới ghi vào hệ thống, không lấy dữ liệu trước đó) , rồi sau khi backup tmdb xong thì máy B sẽ ghép tmdb đó vào phần backup cũ.

    Liệu là điều này có thực hiện được trên MySQL không và nếu được thì làm thế nào? Mọi người cho ý kiến với

  • #2
    Bạn đọc Replicate thử, có vẻ giống nhu cầu của bạn.

    Comment


    • #3
      Originally posted by 09520336 View Post
      Bạn đọc Replicate thử, có vẻ giống nhu cầu của bạn.
      Để em làm thử xem sao
      *******************
      Theo như cái replicate đó thì server A làm gì thì server B sẽ clone lại y như vậy. Vậy lỡ như server A bị lỗi hoặc mất dữ liệu này nọ thì thì server B có sao chép hết qua luôn không???
      Nếu vậy thì hơi nguy hiểm O_O
      Last edited by 10520436; 17-11-2014, 16:20.

      Comment


      • #4
        Cái đó thì tùy em cấu hình thế nào thôi, còn thực tế thì mấy site lớn nó xài cái này kết hợp với sharding giải quyết tải, backup,...

        Comment


        • #5
          Dùng mysqldumper, giải quyết dc tất cả vấn đề trên.

          Comment


          • #6
            Hâu hết distro linux đều có 2 tool là diff và patch. diff dùng để so sánh 2 file sql dump và ghi ra những điểm khác biệt và patch đọc các điểm khác biệt đó để sửa file cũ thành file mới. Nếu nhu cầu đơn giản và chịu khó mày mò dòng lệnh thì không cần thêm tool gì cả

            Comment


            • #7
              Originally posted by truonganpn View Post
              Hâu hết distro linux đều có 2 tool là diff và patch. diff dùng để so sánh 2 file sql dump và ghi ra những điểm khác biệt và patch đọc các điểm khác biệt đó để sửa file cũ thành file mới. Nếu nhu cầu đơn giản và chịu khó mày mò dòng lệnh thì không cần thêm tool gì cả
              Vậy nó vẫn là tool -_- ?

              Comment


              • #8
                Originally posted by 09520336 View Post
                Cái đó thì tùy em cấu hình thế nào thôi, còn thực tế thì mấy site lớn nó xài cái này kết hợp với sharding giải quyết tải, backup,...
                Anh có thử hoặc từng gặp hệ thống nào làm theo mô hình master-slave hay master-master chưa? Em muốn tham khảo

                Comment


                • #9
                  Originally posted by 10520436 View Post
                  Anh có thử hoặc từng gặp hệ thống nào làm theo mô hình master-slave hay master-master chưa? Em muốn tham khảo
                  Trước anh làm mấy vụ này có bên system lo hết em, CRUD vô master, còn master nó liên hệ sao vế slave thì system cấu hình, trong suốt đối với code :sweat:
                  Last edited by 09520336; 18-11-2014, 08:59.

                  Comment


                  • #10
                    em đang theo hướng chuyên database nên hơi phấn khích á mà :brick:
                    Hiện giờ gặp khó khăn là không có ai để hỏi mấy vấn đề chuyên sâu này thôi. Chứ thú thật mò mà không trúng hướng thì mò lâu là một chuyện mà mò "NHẦM" thì nó là một chuyện khác nữa :aboom:

                    Comment


                    • #11
                      Thích system admin ah, theo mấy đại ca bên VNG, FPT cho mau lên trình :sexy:

                      Comment


                      • #12
                        Originally posted by 10520436 View Post
                        Vậy lỡ như server A bị lỗi hoặc mất dữ liệu này nọ thì thì server B có sao chép hết qua luôn không?
                        Việc replicate dữ liệu được thực hiện bằng cách đọc một binary log từ master server. Như vậy tùy thuộc vào cái gì A ghi vào log mà chúng có thể được chép qua B hay không. Theo thiển ý của mình là không, vì nó sẽ làm mất đi một khía cạnh của replication - được sử dụng cho mục đích backup dữ liệu.

                        Comment


                        • #13
                          Originally posted by 09520336 View Post
                          Thích system admin ah, theo mấy đại ca bên VNG, FPT cho mau lên trình :sexy:
                          Có lộn không O_O bên đó toàn dev mà h:

                          Comment

                          LHQC

                          Collapse
                          Working...
                          X