我正在运行以下几组命令来自动安装某个drupal网站
phpMyAdmin,有一个名为x_init_testing
的数据库,并且用户可以使用密码密码进行测试,可以登录到它(手动drupal安装工作正常,并且可以访问数据库与用户和密码)
首先,我正在运行
mysqladmin -utesting -psecret drop x_init_testing -f
mysqladmin -utesting -psecret create x_init_testing
这两个工作正常,并清除数据库(应该允许drush在其上安装新网站)
然后我正在运行
drush si profileName --db-url=mysql://root@127.0.0.1/x_init_testing -y --account-pass=secret
root有密码(即它不是空的) 和drush sql connect确实有效
drush sql-connect
mysql --user=testing --password=secret --database=x_init_testing --host=127.0.0.1 --port=8889
该网站存储在MAMP上(即在我的机器上本地存储,因此没有网络问题)
和我的settings.php文件配置了db * /
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'x_init_testing',
'username' => 'testing',
'password' => 'secret',
'host' => '127.0.0.1',
'port' => '8889',
'driver' => 'mysql',
'prefix' => '',
),
),
);
仍在运行drush si导致
You are about to CREATE the 'x_init_testing' database. Do you want to continue? (y/n): y
Failed to create database: ERROR 1045 (28000): Access denied for user[error]
'root'@'localhost' (using password: NO)
如果需要我正在使用:Drush Version 8.1.6,似乎我正在使用si的所有必需参数
答案 0 :(得分:0)
我认为我发现了这个问题,理论上root用户没有密码启动,这就是为什么命令在没有设置root密码的机器上运行的原因
将si命令更改为:
drush si profileName --db-url=mysql://root:password@127.0.0.1/x_init_testing -y --account-pass=secret