簡體   English   中英

drush si故障用戶具有訪問權限,無法創建數據庫:錯誤1045(28000):用戶的訪問被拒絕

[英]drush si failure user has access, Failed to create database: ERROR 1045 (28000): Access denied for user

我正在運行以下命令集來自動安裝某些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

根有一個密碼(即,它不為空),並且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的所有必需參數。

我想我發現了這個問題,理論上root用戶是從沒有密碼開始的,這就是為什么該命令在未設置root密碼的計算機上起作用的原因

將si命令更改為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM