Для начала нужно сделать копию данных. Чтобы найти каталог в котором находится база данных, заходим в веб-интерфейс RabbitMQ, и на первой вкладке — «Overview» находим:

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

Делается это следующим образом:

На вкладке Overview:

Есть вероятность, что после обновления очереди с большим количеством сообщений будут очищены (у меня так было)

Затем удаляем RabbitMQ и Erlang, перезагружаемся и устанавливаем новые версии Erlang и RabbitMQ, только при установке RabbitMQ нужно снять галочку:

После установки RabbitMQ запускаем командную строку от имени администратора и переходим в каталог:

cd «C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.23\sbin»

Следующую команду выполнять только если служба RabbitMQ по какой-то причине осталась от предыдущей установки.

rabbitmq-service remove

Создаем каталог, например C:\RabbitMQ_data, здесь теперь будет находиться база данных и логи rabbitmq

и устанавливаем переменную окружения:

set RABBITMQ_BASE=C:\RabbitMQ_data

Устанавливаем службу:

rabbitmq-service install

Служба установлена, но ещё не запущена, перед стартом подложите в каталог C:\RabbitMQ_data\db

старую базу данных

и после этого стартуйте службу. Пойдет процесс обновления, в зависимости от размера базы данных процесс может занять минут 15-20.

Папка …upgrade-backup после обновления удалится сама и минут через 10-15 после её удаления можно проверить статус раббита командой:

rabbitmqctl.bat status

Как только ответ предыдущей команды будет проходить без ошибок, можно установить плагин для web-интерфейса командой:

rabbitmq-plugins enable rabbitmq_management


  1. Егор:

    Лис) пиши больше! ) отличный материал!

  2. just_slevin:

    Спасибо, обновил с 3.6.10 до 3.9.5 успешно. Можно еще в логах смотреть процесс.