Как разрешить создание триггеров базы данных

При попытке установить CiviCrm в Drupal 7 я получаю сообщение «Не удалось создать триггер базы данных».

Использование стандартного ddev config.yml для drupal7.

Предлагается несколько решений на https://civicrm.stackexchange.com/questions/2770/database-trigger-error-message, но я изо всех сил пытаюсь реализовать их в ddev. RE Grant - Когда я пытаюсь выполнить ddev exec mysql GRANT ..... мне не удалось выполнить команду. Когда я использую ssh в оболочке mysql, чтобы попытаться предоставить привилегии, я получаю отказ в доступе для пользователя. RE log_bin_trust_function_creators = 1. Куда бы это вставить?


person nigelwhite    schedule 19.01.2019    source источник


Ответы (1)


Обновление 2019-01-25: я пошел проверить это после того, как вы создали проблему и то, что я предложил, было неадекватным. Как объяснялось здесь, вам нужно сделать небольшую настраиваемую конфигурацию. Создайте .ddev / mysql / trigger.cnf со следующим содержимым:

[mysqld]
log_bin_trust_function_creators=on

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

Исходный ответ: Верно, но не подходит для триггеров: пользователь root контейнера db имеет полные права, поэтому вы можете использовать mysql -uroot -proot ..., чтобы делать то, что вам нужно. Вы можете сделать это внутри контейнера db ddev ssh -s db, внутри веб-контейнера ddev ssh или с хоста, используя информацию в ddev describe (но используя root / root). (Вы также можете использовать пользователя root для предоставления дополнительных привилегий пользователю db.)

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

person rfay    schedule 19.01.2019
comment
Спасибо, я обновил здесь тот же ответ, что и проблема. Извините, что в первый раз дал неадекватный ответ. Я попробовал с log_bin_trust_function_creators = on и смог установить CiviCRM. - person rfay; 25.01.2019
comment
Кроме того, это было исправлено в ddev v1.6.0, поэтому дополнительные log_bin_trust_function_creators больше не нужны. - person rfay; 15.05.2019