drush si failure用户有权访问,无法创建数据库:ERROR 1045(28000):用户

时间:2016-10-27 15:13:59

标签: php drupal drupal-7 drush

我正在运行以下几组命令来自动安装某个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的所有必需参数

1 个答案:

答案 0 :(得分:0)

我认为我发现了这个问题,理论上root用户没有密码启动,这就是为什么命令在没有设置root密码的机器上运行的原因

将si命令更改为:

drush si profileName --db-url=mysql://root:password@127.0.0.1/x_init_testing -y --account-pass=secret