Ad Widget

Collapse

Перенос БД в другой раздел

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Scrappy1974
    Junior Member
    • Jan 2018
    • 10

    #16
    Originally posted by astrix89
    Тогда тут 2 варианта.
    1. Некорректно указан путь к сокету в конфиге заббикса.
    2. Выставлены неправильные права где-то по пути к сокету.
    А где можно посмотреть эти пути?

    В zabbix-server.conf все по умолчанию осталось, когда базы хранятся по /var/lib/mysql

    Этот параметр нужно проверить ? DBSocket=/tmp/mysql.sock
    Либо это в web-ке нужно смотреть?
    Last edited by Scrappy1974; 24-01-2018, 12:27.

    Comment

    • pa1975
      Junior Member
      • Dec 2017
      • 14

      #17
      Originally posted by Scrappy1974
      Добрый день!

      2) Останавливаю service mariaDB
      3) Перемещаю (Midnight Commander-ом) базу из var/lib/mysql в новое место
      4) Меняю в файле конфигурации my.cnf пути на новые
      ....
      Захожу в web-ку zabbix и он выдает ошибку, что не найдена база данных (и указывает путь на старое место расположение var/lib/mysql/zabbix)
      Ещё подумалось: переносится ВЕСЬ каталог var/lib/mysql ?
      Т.е. со всеми файлами, данных всех баз и "служебной" БД ?

      Так-же правильным считаю иметь тестовый сервер (хоть виртуалку) дляя экспериментов - чтоб сломать не жалко было :-)

      Comment

      • Scrappy1974
        Junior Member
        • Jan 2018
        • 10

        #18
        Originally posted by pa1975
        Ещё подумалось: переносится ВЕСЬ каталог var/lib/mysql ?
        Т.е. со всеми файлами, данных всех баз и "служебной" БД ?

        Так-же правильным считаю иметь тестовый сервер (хоть виртуалку) дляя экспериментов - чтоб сломать не жалко было :-)
        Да, весь. Так кроме базы zabbix и "служебной" БД больше ничего нет и не предвидется.

        Просто думал, перенос будет выполнить просто.

        Надо поставить тестовый сервак и поиграться на нем.

        В общем, как сделаю удачно перенос на тестовом серваке, напишу сюда алгоритм действий.
        Last edited by Scrappy1974; 24-01-2018, 13:19.

        Comment

        • pa1975
          Junior Member
          • Dec 2017
          • 14

          #19
          Так у меня и описан, за исключением останова серверра БД.
          Даже проверен :-)
          - останавливаем zabbix;
          - Останавливаем mysql;
          - переносим базу в новое место;
          - chown на файлы в новом месте + проверка прав;
          - softlink файлов на прежнее место;
          - ещё сделал chown на софтлинки;
          - запуск сервера mysql;
          - запуск zabbix;
          Попробуйте, может что дополнить/убрать :-)

          Comment

          • Scrappy1974
            Junior Member
            • Jan 2018
            • 10

            #20
            Originally posted by pa1975
            Так у меня и описан, за исключением останова серверра БД.
            Даже проверен :-)
            - останавливаем zabbix;
            - Останавливаем mysql;
            - переносим базу в новое место;
            - chown на файлы в новом месте + проверка прав;
            - softlink файлов на прежнее место;
            - ещё сделал chown на софтлинки;
            - запуск сервера mysql;
            - запуск zabbix;
            Попробуйте, может что дополнить/убрать :-)
            Ок, на днях сделаю тестовый сервак и попробую Ваш алгоритм, если что, еще дополню.

            В вашем алгоритме, раз softlink установлен на старое место баз, получается, что my.cnf править не надо?

            Ну и Housekeeping настрою дней на 30-ть, чтоб удалял старые данные .

            Comment

            • SKabanov
              Member
              • Jan 2014
              • 36

              #21
              Добрый день!

              Несколько раз уже выполняли перенос файлов БД zabbix в другой раздел, пользовались вот этим простым гайдом: https://rusadmin.biz/bloknot/perenos...ku-ili-razdel/

              Думаю проблема именно в правах и свойствах файлов, в гайде прописано, что копирование файлов нужно выполнять с ключами -pR

              Code:
              # cp -pR /old/db /new/db

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #22
                В Midnight Commander можно просто поставить [x] Preserve attributes

                Comment

                • Scrappy1974
                  Junior Member
                  • Jan 2018
                  • 10

                  #23
                  В общем закончилось место в разделе и добрался я до переноса БД zabbix в другой раздел. В принципе, алгоритм, как и описан у pa1975
                  - останавливаем zabbix;
                  - Останавливаем mysql;
                  - переносим базу в новое место (переносил копированием # cp -pR /old/db /new/db);
                  - chown на файлы в новом месте + проверка прав не делал, так как копировал с сохранением существующих прав;
                  - удаляем БД со старого места (для освобождения места в разделе)
                  - softlink файлов на прежнее место (без softlink не заработало, правка my.cnf не помогла, скорее всего еще в других местах править нужно, проще создать softlink);
                  - ещё сделал chown на софтлинки (не делал и так все заработало);
                  - запуск сервера mysql;
                  - запуск zabbix;

                  Comment

                  • Viks
                    Junior Member
                    • Mar 2018
                    • 24

                    #24
                    Вообще то этот метод подойдёт там где маленькая база данных и где можно делать долгий довнтиме у мониторинга,

                    там где всё намного серьёзнее там надо делать по другому,
                    тб по всякому экономим время на маневры:

                    - делаю пометку что эта схема универсальная и подходит под разныеe Linux & ДБ (mysql, postgres, etc),
                    как сингле сервер так и в clusters,
                    и когда ДБ работает на отдельном сервер oт Zabbix server.
                    Чтобы мигрировать ДБ на другой сервер там лучше делать через ДБ репликацию (master-slave).

                    sync_script.sh
                    rsync -aHv --delete /var/lib/mysql /opt/data/
                    #rsync -aHv --delete /var/lib/postgresql /opt/data/
                    mkdir -p /opt/data/tmp && chmod -R 777 /opt/data/tmp

                    #(обратите внимания на наличие здесь slash (/), именно так надо)

                    И можно начинать подготовку:

                    1) без остановки каких либо сервисов запускаем: sync_script.sh
                    следим, ждём завершения.
                    2) идем на новый моунт поинт и проверяем всё ли там красиво и так как нам надо (path, owners, permissions, etc)
                    если нет, то делаем изменения в скрипте и повторяем.
                    3) Заходим в config ДБ и меняем datadir и tmp
                    (подготовка нового конфига, который будет работать после запуска)
                    и пока все.

                    #mysql
                    /etc/mysql/my.cnf
                    datadir = /opt/data/mysql
                    tmpdir = /opt/data/tmp

                    #postresql
                    postgresql.conf
                    data_directory = '/opt/data/postgresql/x.x/main'

                    И поехали:
                    4) Stop Zabbix server ->
                    tail -f /var/log/zabbix/zabbix_server.log

                    там ждём следующие строки:
                    XXXXX:XXXXXXXX:XXXXXX.XXX syncing history data...
                    XXXXX:XXXXXXXX:XXXXXX.XXX syncing history data done
                    XXXXX:XXXXXXXX:XXXXXX.XXX syncing trend data...
                    XXXXX:XXXXXXXX:XXXXXX.XXX syncing trend data done
                    XXXXX:XXXXXXXX:XXXXXX.XXX Zabbix Server stopped. Zabbix x.x.x (revision xxxxx).

                    5) Stop MySQL or PostgreSQL
                    tail -f /var/log/mysql/mysqld.err -> "Shutdown complete"
                    tail -f tail -f /var/log/postgresql/postgresql-*-main.log -> "database system is shut down"

                    6) Run script again: sync_script.sh
                    Делаем re-sync, скрипт заберёт те файлы которые менялись с предыдущего запуска скрипта.
                    Следим, ждём завершения.

                    7) Start MySQL or PostgreSQL
                    tail -f /var/log/mysql/mysqld.err -> "ready for connections"
                    tail -f tail -f /var/log/postgresql/postgresql-*-main.log -> "database system is ready to accept connections"

                    8) Start Zabbix server
                    tail -f /var/log/zabbix/zabbix_server.log
                    там ждём следующие строки:
                    XXXXX:XXXXXXXX:XXXXXX.XXX Starting Zabbix Server. Zabbix x.x.x (revision xxxxx).
                    XXXXX:XXXXXXXX:XXXXXX.XXX current database version (mandatory/optional): xxxx/xxxx <- вот этот самый нужный msg
                    XXXXX:XXXXXXXX:XXXXXX.XXX required mandatory version: xxxx
                    XXXXX:XXXXXXXX:XXXXXX.XXX server #0 started [main process]
                    ....

                    9) Open Zabbix GUI - проверяем и радуемся.

                    Done.

                    Comment

                    • revenant8
                      Junior Member
                      • Aug 2018
                      • 16

                      #25
                      Всем доброго времени суток.
                      У меня чуть иная проблема, и дабы не плодить темы напишу тут.
                      Сервер на Debian перестал запускаться, но файлы с диска читаются без проблем.
                      нагуглил что mariadb делает импорт бд только из файла sql куда до этого был произведен экспорт.

                      Возможно ли прикрутить как то существующие файлы к заново созданному серверу?

                      Comment


                      • revenant8
                        revenant8 commented
                        Editing a comment
                        проблему иначе решил, но все таки интересно возможно ли подобное.
                        у microsoft на сколько я знаю да.
                    Working...