Magnolia CMS игнорирует базу данных mysql, но не использует derby

У меня есть Magnolia-CMS, работающая в системе Debian и в системе Windows.

  • Windows (локальная версия):

    • Tomcat 7 (through maven plugin)
    • Ява 8
    • MySQL 5.7
  • Debian (текущее действие):

    • Tomcat 7
    • Ява 7
    • MySQL 5.5

Моя цель — настроить систему Ubuntu с

  • Ubuntu (future live):
    • Tomcat 8 (also tried Tomcat 7 through maven plugin)
    • Ява 8
    • MySQL 5.7

Моя проблема в том, что каждый раз, когда я пытаюсь восстановить резервную копию текущей работающей системы (Debian), Magnolia полностью игнорирует содержимое базы данных и показывает пустой экземпляр. Пользователи по умолчанию, конфигурация по умолчанию, пустой веб-сайт и активы...

Я пытался сделать следующее:

  • Замените веб-приложение только что скомпилированным
  • (Запустите, чтобы получить чистый экземпляр, не имеет значения)
  • Замените папку репозиториев этого веб-приложения резервной копией из Debian (и удалите индексные папки)
  • Импортируйте дамп MySQL из Debian в Windows / Ubuntu.
  • Очистите разрешения в Linux
  • Запускать

Процесс запуска tomcat ужасно короткий в UbuntuWindows он занимает намного больше времени), и после его завершения экземпляр Magnolia полностью пустой/свежий. Однако база данных содержит как минимум веб-сайты системы Debian. В Windows все работает как положено.

Я даже не знаю, с чего начать. Кто-нибудь намекает, что я должен искать или испытал что-то подобное?


person zoku    schedule 09.02.2017    source источник


Ответы (2)


Оказалось, ошибка была в конфигурации сервера MySQL.

Чтобы справиться с нечувствительностью Windows к регистру, я добавил lower_case_table_names = 1 в my.cnf и сохранил его в /etc/my.cnf.

В Ubuntu этот конкретный параметр, похоже, переопределяется другой конфигурацией, поэтому мне пришлось добавить эту строку в /etc/mysql/my.cnf, чтобы использовать ее как глобальную конфигурацию.

Из-за этого недостающего элемента экземпляры Magnolia добавили в схему второй набор talbes, который, конечно же, был пуст.

Это также объясняет, почему не было сообщений об ошибках.

person zoku    schedule 10.02.2017

Откройте $TOMCAT_HOME/webapps/<yourMagnoliaContext>/WEB-INF/config/default/magnolia.properties и посмотрите, куда указывает magnolia.repositories.home. Это расположение части FS вашего репозитория... скорее всего, в Windows будет что-то другое.
Кроме того, в том же файле свойств проверьте magnolia.repositories.jackrabbit.config, который указывает на файл конфигурации БД, который будет использовать ваша Magnolia... скорее всего опять же что-то другое в Win, чем в Linux. Убедитесь, что файл конфигурации указывает на правильный экземпляр БД и правильную схему.

Также, возможно, стоит прочитать:
Управление конфигурацией
Развертывание нескольких конфигураций

person Jan    schedule 10.02.2017
comment
Спасибо за Ваш ответ! Я использую относительные пути для конфигурации, поэтому они идентичны под Windows и Linux. Также база данных использует ту же конфигурацию. Хорошая догадка, однако! - person zoku; 10.02.2017