我有一个Drupal多站点,需要为每个站点都有一个数据库,并希望它在ddev中运行,但ddev默认只有一个数据库,名为’db’.我怎样才能获得第二个数据库?
解决方法:
这不是太难,但我认为此时没有记录,对高级用户来说也是如此. MariaDB容器的root密码是“root”,因此你可以在那里使用mysql -uroot -proot,也可以在主机上执行.假设您的主机上有mysql客户端,您可以这样做:
>使用ddev describe获取mysql命令和端口号.
>将命令更改为使用username = root,password = root.例如,在我有的测试站点上,mysql –host = 127.0.0.1 –port = 32841 –user = root –password = root.你的港口会有所不同.
> CREATE DATABASE newdb;
>将所有内容全部放在newdb.*上,将’db’@’%’识别为’db’;
>现在,如果要从数据库转储加载,则mysql –host = 127.0.0.1 –port = 32841 –user = root –password = root –database = newdb< dumpfile.sql
>您的普通Web用户现在可以访问此备用数据库,并且可以在settings.php中用于备用多站点.
>请注意,对于多站点,您需要在ddev项目中添加额外的additional_hostnames.
或者,您可以使用phpmyadmin(请参阅ddev中的url描述)来执行此操作,但首先您必须向phpmyadmin使用的“db”用户授予完全权限,然后将出现phpmyadmin中的“Create”按钮.
ddev ssh -s db
mysql
GRANT ALL ON *.* TO 'db'@'%';
有关如何为项目自动创建其他数据库,请参阅How can ddev automatically create additional databases?.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。