使ddev和drush站点安装可用于多站点安装

时间:2018-11-28 17:58:54

标签: drush ddev

我正在尝试从ddev Web容器创建一个新的drupal 7多站点。尽管drush si运行正常,但创建另一个数据库和站点失败。 我从主机运行ddev ssh,然后发出

drush site-install --sites-subdir=mysite --db-url=mysql://db:db@db/mysite --db-su=root --db-su-pw=root

这似乎不起作用。 使用mysql -uroot -h db

以root身份进入mysql-db时

并创建新数据库即可。

使用--debug选项运行drush显示用户数据库无法访问数据库:

sql-query: DROP DATABASE IF EXISTS test8; CREATE DATABASE test8 /*!40100 DEFAULT CHARACTER SET utf8 */; GRANT ALL PRIVILEGES ON test8.* TO 'db'@'%' IDENTIFIED BY 'db'; FLUSH PRIVILEGES; [4.26 sec, 2.03 MB]               [notice]  
Executing: mysql --defaults-extra-file=/tmp/drush_lGzF0v --database=information_schema --host=db --silent  < /tmp/drush_GTSajV  
ERROR 1044 (42000) at line 1: Access denied for user 'db'@'%' to database 'test8'  
Failed to create database: ERROR 1044 (42000) at line 1: Access denied for user &#039;db&#039;@&#039;%&#039; to database &#039;test8&#039; [4.3 sec, 2.03 MB]   

解决方法
像下面的评论中所述添加Grant:

grant all on *.* to 'db'@'%';  

,如果我现在连续两次运行相同的drush命令,它将起作用并安装该站点。

我没有在不同的堆栈上尝试过,所以也许这是在drush网站安装中的错误。 我在ddev上对drupal 8也做了同样的事情,即使它产生不同的错误,它也表现出相似的行为。同样的解决方法,运行两次命令可修复站点安装。

0 个答案:

没有答案