Я запускаю следующие наборы команд для автоматической установки определенного веб-сайта 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://[email protected]/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' => '',
),
),
);
Все еще работает друша Си приводит к
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, и кажется, что я использую все необходимые аргументы для си
Я думаю, что нашел проблему, теоретически пользователь root запускается без пароля, и именно поэтому команда работала на машинах, которые не установили пароль root
изменив команду si на:
drush si profileName --db-url=mysql://root:[email protected]/x_init_testing -y --account-pass=secret
Других решений пока нет …