Ad Widget

Collapse

Резервное копирование базы Mysql

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andrey_79
    Senior Member
    • Sep 2008
    • 173

    #1

    Резервное копирование базы Mysql

    Добрый день. Хотел бы проконсультироваться как лучше организовать резервное копирование базы zabbix (размер 20 Гб). Сейчас использую mysqldump, но во время выполнения резервного копирования, сервер минут на 20 перестает функционировать (что для сервера мониторинга не приемлемо) из - за большой нагрузки mysql, пробывал использовать в дополнение к mysqldump команду nice -19, проблема не решилась.
  • ugh
    Senior Member
    • Jun 2009
    • 296

    #2
    xtrabackup попробуйте

    Comment

    • den_crane
      Senior Member
      • Feb 2006
      • 272

      #3
      я не бекаплю таблицы с данными, только с конфигурацией.

      /usr/bin/mysqldump zabbix acknowledges actions alerts applications auditlog conditions config dchecks dhosts drules dservices events functions graphs graphs_items groups help_items history_str_sync history_uint_sync hosts hosts_groups hosts_profiles hosts_templates housekeeper httpstep httpstepitem httptest httptestitem ids images items items_applications mappings media media_type nodes node_cksum operations profiles rights screens screens_items services services_links services_times service_alarms sessions slides slideshows sysmaps sysmaps_elements sysmaps_links triggers trigger_depends users users_groups usrgrp valuemaps|gzip -9>$db

      а можно на lvm положить и снапшоты бекапить.

      Comment

      • dotneft
        Senior Member
        • Nov 2008
        • 699

        #4
        bacula êàê âàðèàíò

        Comment

        • den_crane
          Senior Member
          • Feb 2006
          • 272

          #5
          Originally posted by dotneft
          bacula как вариант
          там вроде пофайловый бекап? Т.е. начало файла будет неконсистентно с концом.

          Comment

          • skogan
            Member
            • Nov 2007
            • 70

            #6
            Я использую LVM снапшоты - ни каких помех для сервера. Единственно пришлось отказаться от XFS и перейти на Ext3 - на XFS всё время зависало. Обязательно останавливайте базу данных во время создания снапшота: в нормальных условиях вся процедура занимает не больше 10-ти секунд и база данных сохраняется в "чистом" виде.

            Comment

            • den_crane
              Senior Member
              • Feb 2006
              • 272

              #7
              документация предлагает
              http://dev.mysql.com/doc/refman/5.1/...p-methods.html

              From a client program, execute FLUSH TABLES WITH READ LOCK.
              From another shell, execute mount vxfs snapshot.
              From the first client, execute UNLOCK TABLES.

              правда придется повозится с expect или ksh чтоб из разных потоков

              с другой стороны можно

              Code:
              $ cat test.sql 
              FLUSH TABLES WITH READ LOCK;
              \! whoami
              UNLOCK TABLES;
              
              $ cat test.sql |mysql -v
              --------------
              FLUSH TABLES WITH READ LOCK
              --------------
              
              root
              --------------
              UNLOCK TABLES
              --------------

              Comment

              • Andrey_79
                Senior Member
                • Sep 2008
                • 173

                #8
                Originally posted by ugh
                xtrabackup попробуйте
                xtrabackup наверно хорошая вещь, но я так понял она только под 64 разрядное ПО. А уменя FreeBSD 6.1, 32 разрядная.

                Comment

                • ugh
                  Senior Member
                  • Jun 2009
                  • 296

                  #9
                  ну это да, только старые и судя по отзывам, глючные версии под 32 вроде как есть

                  Comment

                  • bondbig
                    Member
                    • Jul 2008
                    • 68

                    #10
                    как восстановить?

                    Добрый день всем!
                    Жил да был у меня сервер монторинга на заббиксе пока не случилась беда - сервер после очередной перезагрузки отказался стартовать, всяческие попытки полечить успехом не увенчались. Бекапирование этого сервера у меня не было настроено (да, вот такой вот я лопух ). Я скопировал папки с файлами mysql и все конфиги, можно ли теперь как-то восстановить хотя бы настройки заббикса из этих файлов баз? Там много было наделано графиков, карт, темплейтов и т.п., очень непросто будет все это заново делать.

                    Comment

                    • watto
                      Member
                      • Jun 2008
                      • 47

                      #11
                      Originally posted by Andrey_79
                      Добрый день. Хотел бы проконсультироваться как лучше организовать резервное копирование базы zabbix (размер 20 Гб).
                      Учитывая размер, я бы использовал репликацию мастер-слейв. Минус - требуется еще один сервер. Плюс - бекап идет в режиме реального времени, всегда есть свежая копия базы, таблицы не лочатся. Также к реплике можно применять mysqldump - для сохранения состояний базы, ибо в ней хранятся все конфиги мониторинга.

                      Comment

                      • loshak
                        Junior Member
                        Zabbix Certified Specialist
                        • Jun 2006
                        • 21

                        #12
                        Originally posted by Andrey_79
                        Добрый день. Хотел бы проконсультироваться как лучше организовать резервное копирование базы zabbix (размер 20 Гб). Сейчас использую mysqldump, но во время выполнения резервного копирования, сервер минут на 20 перестает функционировать (что для сервера мониторинга не приемлемо) из - за большой нагрузки mysql, пробывал использовать в дополнение к mysqldump команду nice -19, проблема не решилась.
                        Добрый день.
                        Была такая же проблема. Всё замерало на 5 мин при бэкапе. Решилось вот такими ключами в mysqldump: --single-transaction --quick.
                        Может поможет и вам.

                        Comment

                        • unlnkd
                          Junior Member
                          • Feb 2009
                          • 28

                          #13
                          Originally posted by loshak
                          Äîáðûé äåíü.
                          Áûëà òàêàÿ æå ïðîáëåìà. Âñ¸ çàìåðàëî íà 5 ìèí ïðè áýêàïå. Ðåøèëîñü âîò òàêèìè êëþ÷àìè â mysqldump: --single-transaction --quick.
                          Ìîæåò ïîìîæåò è âàì.
                          Ïîñòóïàþ òàêèì æå îáðàçîì.
                          http://dev.mysql.com/doc/refman/5.1/...le-transaction
                          Òàì æå óïîìèíàåòñÿ î --quick

                          1. Äëÿ ñîõðàíåíèÿ èñòîðè÷åñêèõ äàííûõ ëó÷øå ïîäíÿòü ðåïëèêàöèþ è êîïèè äåëàòü óæå ñî ñëýéâà.
                          2. Äëÿ áûñòðîãî ñîçäàíèÿ ðåçåðâíîé êîïèè ñ êîíôèãóðàöèåé äîñòàòî÷íî íå áýêàïèòü òàáëèöû ñ èñòîðèåé (çàíèìàåò îò 10 ñåê äî íåñêîëüêèõ ìèíóò).

                          Comment

                          • Andrey_79
                            Senior Member
                            • Sep 2008
                            • 173

                            #14
                            Originally posted by loshak
                            Добрый день.
                            Была такая же проблема. Всё замерало на 5 мин при бэкапе. Решилось вот такими ключами в mysqldump: --single-transaction --quick.
                            Может поможет и вам.
                            Спасибо, помогло действительно. Только не понятно как эта опция работает. Ведь в момент дампа новые данные вносятся в базу и боюсь, что потом какие нибудь контрольные суммы не совпадут при восстановлении и работать база не будет. Вы пробывали восстанавливать базу после дампа с этим ключом? Можно ли с этим ключом бэкапить ISAM таблицу. Читая man честно говоря недопонял.

                            Comment

                            • loshak
                              Junior Member
                              Zabbix Certified Specialist
                              • Jun 2006
                              • 21

                              #15
                              Originally posted by Andrey_79
                              Спасибо, помогло действительно. Только не понятно как эта опция работает. Ведь в момент дампа новые данные вносятся в базу и боюсь, что потом какие нибудь контрольные суммы не совпадут при восстановлении и работать база не будет. Вы пробывали восстанавливать базу после дампа с этим ключом? Можно ли с этим ключом бэкапить ISAM таблицу. Читая man честно говоря недопонял.
                              Добрый день. Раньше восстанавливалось всё, вчера сделал тест восстановления, всё прошло без ошибок, после чего поднял заббикс сервер и подключился к базе, работает без проблем.
                              НО! сделаю уточнение, я не делаю бэкап таблиц history и history_uint (их, после восстановления, я создаю руками), так как мне важнее работоспособность заббикса, а не исторические данные (т.е. если всё умрет то мне хватит данных в таблицах trends и trends_uint).
                              На счет как работают эти ключи, я как и вы читал мануал , и там сказано что
                              "When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state. For example, any MyISAM or MEMORY tables dumped while using this option may still change state. "
                              Да и кстати а почему вы используете MyISAM, веть сами авторы заббикса рекомендуют использовать InnoDB.

                              Удачи.

                              Comment

                              Working...