如何允许创建数据库触发器

时间:2019-01-19 10:14:14

标签: ddev

当尝试在Drupal 7中安装CiviCrm时,出现“无法创建数据库触发器”。

为drupal7使用标准的ddev config.yml。

https://civicrm.stackexchange.com/questions/2770/database-trigger-error-message上提出了一些解决方案,但是我正在努力在ddev中实现它们。 RE Grant-当我尝试ddev exec mysql GRANT .....我执行命令失败。当我进入mysql shell尝试授予权限时,我拒绝了用户访问。 RE log_bin_trust_function_creators =1。我应该在哪里插入?

1 个答案:

答案 0 :(得分:0)

更新2019年1月25日:创建issue后,我去检查了一下,但我建议的内容不足够。如there所述,您需要进行一些自定义配置。使用以下内容创建一个.ddev / mysql / trigger.cnf:

<image
  :source="{require('./my-icon.png')}"
/>

下一个ddev版本(2月中旬)将使它成为默认值(PR)。因此,请在此报告您的结果。我能够使用此mysql配置安装CiviCRM。

原始答复:正确,但不足以触发: db容器root用户具有完全特权,因此您可以使用mysql -uroot -proot ...来完成所需的操作。您可以在数据库容器[mysqld] log_bin_trust_function_creators=on 内或Web容器ddev ssh -s db内,也可以使用ddev ssh中的信息(但要使用root / root)从主机执行此操作。 (当然,您也可以使用root用户向db用户授予其他特权。)

如果您知道需要什么特权,我们应该将它们添加到db用户,所以请make an issue请求您需要的特权,因为我们希望这对您来说更容易。