-2

I installed composer-Git and drush and was continuing with the installation of Drupal 8 from the command line. I read that you can create the database directly from drush, while in other parts I read that you must first create the database and then you can install the site from drush. I guess the answer can be create the database first but I prefer to be sure of what I can do with drush

The usage command is drush site-install --db-url = mysql://root:pass@localhost:port/dbname.

1
  • You create the database first with MySQL or whatever. And with that install command you tell Drush which database Drupal should use then.
    – leymannx
    Commented Dec 28, 2019 at 11:35

1 Answer 1

3

Drush will try to create the database if it doesn't exist. You can even provide an optional superuser account and password for the site-install command. Technically Drush doesn't create the database tables. The Drush site-install command runs the Drupal install procedure which does the job.

Reading core/INSTALL.mysql.txt you'll see that the normal procedure is to create the database first and then give the needed permissions on that databases. However, if you use a super user for you database (with the permission to create any database), Drupal will in fact also create the database when installing. This doesn't happen when you are using Drush.

2
  • Thanks to both for the reply. With phpMyAdmin I created the database and created a user with all privileges. then I ran the Drush dl drupal-8 --select command from git and downloaded me drupal without problems. I positioned myself in the folder where drupal is present and launched the command drush site-install --db-url = mysql: // user: pswd @ localhost: 80 / courses asks me if I want to create the courses database and answer yes but I get this error back You are about to CREATE the 'courses' database. Do you want to continue? (y / n): y Failed to create database: "mysql" is not recognized as
    – Gaetano
    Commented Dec 29, 2019 at 19:58
  • 1
    I have corrected my answer. Drush does in fact create the database. Anyway, your problem is that you miss the mysql-client package (which provides the mysql command).
    – hansfn
    Commented Dec 30, 2019 at 19:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.