【问题标题】:drush si failure user has access, Failed to create database: ERROR 1045 (28000): Access denied for userdrush si 失败用户有权访问,无法创建数据库:错误 1045 (28000):用户访问被拒绝
【发布时间】:2017-03-10 08:33:24
【问题描述】:

我正在运行以下几组命令来自动安装某个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 版本 8.1.6,看来我正在使用 si 所需的所有参数

【问题讨论】:

    标签: php drupal drupal-7 drush


    【解决方案1】:

    我想我找到了问题,理论上root用户没有密码,这就是为什么该命令在没有设置root密码的机器上工作的原因

    将 si 命令更改为:

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

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 2022-12-05
      • 2016-07-05
      • 2017-08-23
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      相关资源
      最近更新 更多