如何在ddev中创建和加载第二个数据库?

mfuanj7w  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(405)

我有一个drupal多站点,每个站点需要一个数据库,并且希望它在ddev中运行,但是ddev默认只有一个数据库,名为“db”。如何获取第二个数据库?

vx6bjr1n

vx6bjr1n1#

除了rfay answer,最后一个链接中使用的技巧正是我想提出的和我目前正在使用的:
将此钩子添加到config.yml文件

hooks:
  post-start:
  - exec: mysql -uroot -proot -hdb -e "CREATE DATABASE IF NOT EXISTS second_db; GRANT
      ALL ON second_db.* TO 'db'@'%';"

并使用param将数据加载到第二个数据库 --target-db : ddev import-db --target-db=second-db --src=second-db.sql

ewm0tg9j

ewm0tg9j2#

更新日期:2020-06-02:在最新版本的ddev中,您可以使用直接导入其他数据库 ddev import-db --target-db=newdb . 已创建的数据库将已具有权限等。
剩下的答案已经被编辑成最新的。。。
您还可以手动创建和管理数据库(尽管这已不再是必需的)。db服务器的根密码是“root”,因此您可以 mysql -uroot -proot 在那里(或使用 ddev mysql -uroot -proot ). ddev mysql -uroot -proot CREATE DATABASE newdb; GRANT ALL ON newdb.* to 'db'@'%' IDENTIFIED BY 'db'; 现在,如果你想从数据库转储加载, ddev import-db --target-db=newdb --src=dumpfile.sql 您的普通web用户现在可以访问这个备用数据库,并且可以在备用多站点的settings.php中使用它。
您还需要为您的drupal multisite做许多其他事情;这里有完整的教程https://github.com/drud/ddev-contrib/tree/master/recipes/drupal8-multisite

相关问题