Highlighted

Как изменить пароль пользователя admin в Jira и Confluence во встроенной БД (H2)

Всем привет!

Часто при миграции серверов Jira и Confluence возникает необходимость поставить бэкап Jira и Confluence на свой локальный сервер для того, чтобы  проанализировать состояние Jira или Confluence или просто почистить Jira и Confluence от ненужных объектов. 

Для этого необязательно разворачивать postgres, oracle, mysql или sql server. Достаточно использовать встроенную H2 базу данных. H2 нельзя использовать в продакшене, так как она может упасть в самый неподходящий момент, но для какой-то временной неважной инсталляции она хорошо подходит.

Итак мы установили локальные Jira и Confluence и залили туда бэкапы. Начинаем логиниться под пользователем admin и у нас ошибка, что имя пользователя или пароль неверные.

Нужно поправить пароль в БД. Как это сделать?

Здесь разработчики Atlassian о нас позаботились. В развернутые Jira и Confluence входит H2 database manager, который находится по следующему пути: jira_installation или confluence_installation/webapp/WEB-INF/lib/h2-X.X.XXX.jar. В моем случае имя jar файла - h2-1.3.176. 

Запускаем этот файл. Обычно двойное нажатие мыши помогает и получаем вот такой экран:

 

Screenshot 2018-12-08 at 19.10.23.png

Поле JDBC URL содержит путь к H2 базе данных, которая находится в jira_home/database. При указании пути нужно быть внимательным и указать корректный путь, так как, если путь будет не корректен, то ошибка не появится. Будет создана пустая база данных. Отличить пустую базу данных можно следующим образом. В базе данных будет только одна схема и она будет называться INFORMATION_SHCEMA. Вот как она выглядит:

Screenshot 2018-12-08 at 19.14.37.png

 

Корректная база данных выглядит вот так:

Screenshot 2018-12-08 at 19.19.37.png

Мы видим большое количество таблиц с префиксом AO_. Это хороший признак того, что перед нами правильная база данных.

После этого мы можем выполнять наши SQL запросы для установки пароля.

Для Jira (пользователь admin пароль sphere):

update cwd_user set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==' where user_name='admin';

Для Confluence (пользователь admin пароль admin):

update cwd_user set credential='{PKCS5S2}8WEZjkCbLWysbcbZ5PRgMbdJgJOhkzRT3y1jxOqke2z1Zr79q8ypugFQEYaMoIZt' where user_name='admin';

Теперь можно отключатся и запускать Jira и Confluence.

Важно знать, что H2 база данных поддерживает только одно подключение в момент времени. Поэтому для запуска Jira и Confluence Вы должно выйти из H2 database manager. А при работе в H2 database manager Вы должны положить Jira и Confluence.

 

 

2 comments

Вот где ты был, когда я раньше много развлекался с этой СУБД :) 

Может еще пригодится:)

Зачем учить плохому хакерскому способу, если есть нормальный способ смены пароля администратора. В документации к JIRA есть решение: запуск JIRA в однопользовательском режиме и смена пороло администратора. Это же обычная тривиальная задача любого администратора, найти информацию в документации к продукту.

Не думаю, что этот способ хакерский. Он описан в документации Atlassian:

https://confluence.atlassian.com/jira/retrieving-the-jira-administrator-192836.html?_ga=2.208717659.856277697.1543736872-65270402.1526147845

Если Вы считаете, что Ваш способ проще и рабочий, то напишите про него:)

Comment

Log in or Sign up to comment