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
的数据库,并且有一个用户测试密码 secret 可以登录它(手动 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 文件配置了数据库
*/
$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
我是运行以下几组命令自动安装某drupal网站
phpMyAdmin,有一个名为 x_init_testing
的数据库,并且有一个用户测试密码 secret 可以登录它(手动 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 文件配置了数据库 */
$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