Создание сайта с помощью Drush не работает
Попытка установить Drupal 8 с помощью drush.
drush dl drupal --drupal-project-rename=example
cd example
Пока все идет хорошо.
Однако, когда я доберусь до этой части:
drush site-install standard --db-url='mysql://root:my+Password@localhost/db_name' --site-name=Example
Я также пробовал:
drush site-install standard --db-url='mysql://root:[email protected]/db_name' --site-name=Example
Но я получаю следующую ошибку:
Не удалось подключиться к серверу базы данных. Сервер сообщает следующее сообщение: SQLSTATE[HY000] [1045] Доступ запрещен для пользователя root@localhost (с использованием пароль: ДА) Сервер базы данных запущен? Существует ли база данных или пользователь базы данных имеет достаточные права для создания базы данных? Вы ввели правильное имя базы данных? Вы ввели правильное имя пользователя и пароль? Вы ввели правильное имя хоста базы данных?
Все ответы "Да", поэтому установка должна работать. Что-то не так с моим синтаксисом? У меня есть другие сайты Drupal на этом сервере, которые я установил вручную, это просто установка Drush, которую я не могу запустить. Что я делаю не так?
3 answers
Вероятно, это связано с тем, что у вас нет настроек для суперпользователя (пользователь/1). Вам необходимо установить имя пользователя и пароль учетной записи, чтобы вы могли войти в Drupal.
drush site-install standard --account-name=admin --account-pass=12345 --db-url=mysql://dbusername:dbpass@localhost/db_name --site-name=Example
В своей команде вы не упомянули порт mysql. Пожалуйста, обратитесь к следующей команде.
drush si --db-url=mysql://db-user:db-pass@localhost:3306/db-name
Имя пользователя и пароль являются необязательными, после установки сайта автоматически сгенерированные имя пользователя и пароль будут предоставлены на консоли. Пожалуйста, обратите на это внимание внимательно.
Это было сложно, но я, наконец, понял это сам. Причина сбоя установки заключалась в том, что мой пароль MySQL содержал специальные символы. Drush не может избежать специальных символов, поэтому мне пришлось изменить пароль, используя следующую команду:
mysqladmin -uroot -pOldPassword password newPassword
После этого все сработало как по волшебству!