У меня есть кластер MariaDB Galera с двумя узлами. У меня все нормально, но первый узел в кластере нужно запустить с: sudo service mysql start --wsrep-new-cluster
Я использую Debian 7, и MariaDB запускается автоматически, однако теперь это не удается, потому что это первый узел в кластере (и, если я не скажу, он будет искать другие узлы).
Как я могу заставить его запускаться автоматически с --wsrep-new-cluster
вариант?
Я боролся с этим в Debian 8 и обнаружил, что сценарий init.d игнорирует параметр --wsrep-new-cluster.
Мне удалось запустить первый узел кластера вручную с помощью /usr/bin/mysqld_safe --wsrep-new-cluster
. Затем второй может быть запущен с помощью обычного сценария инициализации `service mysql start '. Как только второй узел заработает, процесс mysqld_safe может быть остановлен и первый узел может быть запущен в обычном режиме.
Я бы сказал, что вы не можете, так как вы не знаете, какой из двух узлов должен быть главным, то есть с которым вы должны загружать кластер.
Я хочу сказать, что если один узел выходит из строя и один перезагружается, обычной процедуры запуска демона должно хватить - на этом этапе вам не нужна опция --wsrep-new-cluster, достаточно просто запустить и запустить разбитый узел. .
Теперь представьте, что оба узла вышли из строя. Чтобы спасти кластер, вы должны проверить файл grastate.dat на предмет с наибольшим seqno и uuid, не состоящим только из нулей (см. https://stackoverflow.com/questions/23356623/mysql-galera-autostart-from-boot-wsrep-new-cluster). Это тот, с которого можно начать загрузку.