微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个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] 举报,一经查实,本站将立刻删除。

相关推荐