Schritt 3: Erstellen Sie die Datenbank
Wenn Sie Drupal auf einer Testseite installieren, können Sie diesen Schritt überspringen. Beim Start des Installationsskripts (nächster Schritt) reicht es aus, den Benutzernamen und das Passwort eines Datenbankbenutzers mit Berechtigung zur Erstellung einer neuen Datenbank anzugeben.
Wenn Sie Drupal auf einem öffentlich zugänglichen Webserver installieren, sollten Sie zuerst die Datenbank erstellen und einem weniger privilegierten Benutzer Zugriff gewähren. Der Datenbankbenutzer, den Sie während der Installation angeben, verbindet sich bei jedem Seitenaufruf mit der Datenbank.
Auf dieser Seite finden Sie Anleitungen zum Erstellen einer Drupal-Datenbank auf eine der folgenden Arten:
- Webbrowser-basierte Verwaltungspanels (z. B. „CPanel“ oder „Plesk“)
- PhpMyAdmin
- Verwendung von SQL-Befehlen (über die Kommandozeile)
- Verwendung von MySQL-/MariaDB-Befehlen
- Verwendung von PostgreSQL-Befehlen
Zeichenauswahl für MySQL-/MariaDB-Datenbanknamen
- Wenn Sie Großbuchstaben im Datenbanknamen verwenden, werden diese in Kleinbuchstaben umgewandelt.
- Zulässige Zeichen: a..z, 0..9 und „_“ (Unterstrich).
Datenbank und Benutzer über webbasierte Verwaltungspanels erstellen
Die meisten Webhosting-Accounts bieten ein Web-Panel zur Verwaltung Ihrer Website. Diese Tools enthalten benutzerfreundliche Funktionen zum Erstellen neuer Datenbanken und „Benutzer“ mit Datenbankberechtigungen. Um eine Datenbank über ein Web-Panel zu erstellen, konsultieren Sie die Dokumentation oder Ihren Webhoster.
Wenn Sie einen Benutzer für Ihre Datenbank erstellen, sehen Sie meist eine Seite, auf der Sie die Privilegien für den Benutzer festlegen können. Im „Datenbank-Assistenten“ der meisten Web-Panels gilt: Wenn Sie einfach „Alle“ Rechte für den neu erstellten Benutzer auswählen (und falls nötig das Häkchen „Grant“ entfernen), ist der Benutzer korrekt eingerichtet.
Notieren Sie sich Benutzername, Passwort, Datenbankname und Hostnamen. (Zum Beispiel, wenn Sie auf http://example.com, http://drupal.example.com oder http://example.com/blog installieren.) Diese Angaben werden Sie später im Browser beim Start des Installationsskripts eingeben.
Beachten Sie, dass beim Erstellen von Datenbanken und Benutzern über Webinterfaces häufig der Benutzername, mit dem Sie sich im Verwaltungspanel anmelden, als Präfix an den Datenbanknamen und möglicherweise auch an den Benutzernamen angehängt wird. Zum Beispiel: Wenn Sie sich als „webadmin“ anmelden und eine Datenbank namens „drupal8db“ sowie einen Benutzer „d8user“ anlegen, müssen Sie beim Start des Installationsskripts möglicherweise „webadmin_drupal8db“ und „webadmin_d8user“ als Datenbank und Benutzername eingeben. Das liegt daran, dass viele Hosting-Accounts auf Shared Servern liegen, wo Datenbank- und Benutzernamen auf dem Server für alle Konten eindeutig sein müssen.
Datenbank und Benutzer mit phpMyAdmin erstellen
Der sicherste Weg, eine Datenbank mit phpMyAdmin zu erstellen, ist ein Benutzer mit allen Rechten für die neue Datenbank, aber ohne Rechte für andere Datenbanken anzulegen. Das ist sicherer als ein gemeinsamer Benutzername und Passwort für alle Websites auf einem Server, da so der Zugriff auf Ihre Datenbanken begrenzt wird, falls Ihre Datenbank-Logins kompromittiert werden.
Hinweis: Diese Anleitung geht davon aus, dass Sie Root-Zugriff auf phpMyAdmin haben und phpMyAdmin Version 3.5.x verwenden.
- Melden Sie sich als Root-Benutzer bei phpMyAdmin an.
- Klicken Sie auf „Benutzer“ und dann auf „Benutzer hinzufügen“. (Hinweis: Alternativ können Sie auch die Root-Anmeldedaten verwenden.)
- Geben Sie im Feld Benutzername den gewünschten Benutzernamen ein.
- Wählen Sie im Feld „Host“ die Option „Local“, was sicherer ist, sofern Sie nicht von einem anderen Server zugreifen wollen.
- Geben Sie ein Passwort für den Benutzer ein oder generieren Sie eines.
- Im Bereich Datenbank für Benutzer wählen Sie „Neue Datenbank erstellen“ mit dem gleichen Namen und geben alle Rechte.
- Stellen Sie sicher, dass Sie die COLLATION utf8mb4_unicode_ci oder utf8mb4_general_ci ausgewählt haben.
- Hinweis: Der Unterschied der beiden Collations liegt in der Zeichensortierung und Vergleich. utf8mb4_general_ci ist etwas schneller, utf8mb4_unicode_ci jedoch genauer für ein breiteres Spektrum an Zeichen. Wenn Sie unsicher sind, wählen Sie utf8mb4_unicode_ci.
- Hinweis: Falls Sie die Collation hier nicht wählen können, können Sie sie später ändern. Wählen Sie dazu die Datenbank im Menü „Datenbanken“, klicken Sie auf „Operationen“ und ändern Sie dort die Sortierung.
8. Klicken Sie auf „Los“, um den Benutzer zu erstellen.
phpMyAdmin erstellt eine neue Datenbank mit dem gleichen Namen wie der Benutzer. Wenn Sie einen anderen Namen für Datenbank und Benutzer wünschen:
- Klicken Sie auf „Datenbanken“ und dann auf den Link zur Datenbank, die Sie umbenennen möchten.
- Klicken Sie auf „Operationen“.
- Im Bereich „Datenbank umbenennen in“ geben Sie den neuen Datenbanknamen ein.
- Klicken Sie auf „Los“, um die Datenbank umzubenennen.
Weitere Details zur Nutzung von phpMyAdmin finden Sie in der offiziellen Wiki.
Notieren Sie sich Benutzername, Passwort, Datenbankname und Hostnamen. (Beispielsweise bei Installation auf http://example.com, http://drupal.example.com oder http://example.com/blog) Diese Angaben benötigen Sie beim Start des Installationsskripts im Browser.
Wie bereits erwähnt, wird bei Web-Interfaces häufig der Benutzername, mit dem Sie sich anmelden, als Präfix an Datenbank- und Benutzernamen angehängt. Zum Beispiel, wenn Sie sich als „webadmin“ anmelden und eine Datenbank „drupal8db“ sowie Benutzer „d8user“ erstellen, müssen Sie beim Installationsskript möglicherweise „webadmin_drupal8db“ und „webadmin_d8user“ verwenden. Das liegt daran, dass auf Shared Servern Datenbank- und Benutzernamen serverweit eindeutig sein müssen.
Datenbank aus der Kommandozeile erstellen
Wenn Sie kein Web-Panel verwenden oder Erfahrung mit MySQL-, MariaDB- oder PostgreSQL-Befehlen haben und diese lieber nutzen möchten, finden Sie in den folgenden Abschnitten entsprechende Anleitungen.
Weitere Informationen zu Privilegien und Anleitungen zum Erstellen von Datenbanken mit der Kommandozeile finden Sie in der Datei INSTALL.mysql.txt für MySQL/MariaDB und in INSTALL.pgsql.txt für PostgreSQL.
Datenbank mit MySQL-/MariaDB-Befehlen erstellen
Hinweis: Die Datenbank muss mit UTF-8 (Unicode) (utf8mb4) und der Sortierung utf8mb4_unicode_ci oder utf8mb4_general_ci erstellt werden. Der Unterschied bei den Sortierungen betrifft Zeichensortierung und Vergleich. utf8mb4_general_ci ist etwas schneller, utf8mb4_unicode_ci genauer für ein breiteres Spektrum an Zeichen. Wenn Sie unsicher sind, verwenden Sie utf8mb4_unicode_ci.
Informationen zur Installation und Konfiguration von MySQL finden Sie unter http://dev.mysql.com/doc/refman/5.7/en/index.html.
Informationen zur Installation und Konfiguration von MariaDB finden Sie unter https://mariadb.com/kb/en/.
In den folgenden Beispielen steht 'username' für den MySQL/MariaDB-Benutzer mit CREATE- und GRANT-Rechten und 'databasename' für den Namen der neuen Datenbank. Ersetzen Sie diese durch passende Namen für Ihr System.
1. Erstellen Sie eine neue Datenbank für Ihre Website. (Passen Sie Benutzernamen und Datenbanknamen an.)
mysql -u username -p -e "CREATE DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci";
MySQL/MariaDB fragt das Passwort für „username“ ab und erstellt die Datenbankdateien.
2. Melden Sie sich an und setzen Sie Berechtigungen:
mysql -u username -p
MySQL/MariaDB fragt das Passwort für „username“ ab.
3. Erstellen Sie im MySQL-/MariaDB-Prompt den Benutzer und vergeben Sie Rechte mit folgenden Befehlen (erstellt Benutzer und gibt Rechte):
CREATE USER username@localhost IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Achten Sie darauf, Backticks (`) um Datenbanknamen zu verwenden, wenn diese spezielle Zeichen wie _ oder % enthalten. Zudem müssen Unterstriche als \_ angegeben werden, da sie als Wildcards fungieren.
Beispiel: Da Unterstrich ein Wildcardzeichen ist, muss drupal_test_account.* als `drupal\_test\_account`.* angegeben werden, um Sicherheit zu gewährleisten. Sonst könnten versehentlich Rechte für ähnlich benannte Datenbanken vergeben werden.
Hinweis 1: Wenn der User/Host-Kombination für Ihre Drupal-Installation nicht alle oben genannten Rechte besitzt (außer CREATE TEMPORARY TABLES, welches nur für automatisierte Core-Tests und einige Module genutzt wird), können Sie Drupal nicht installieren oder ausführen.
Hinweis 2: Um einen mit Drush erstellten Datenbank-Dump wiederherstellen zu können, benötigt der User außerdem das Recht LOCK TABLES.
Weitere Informationen zum GRANT-Befehl finden Sie unter http://dev.mysql.com/doc/refman/5.0/en/grant.html.
- 'databasename' ist der Name Ihrer Datenbank
- 'username' ist Ihr MySQL- oder MariaDB-Benutzername
- 'localhost' ist der Host, auf dem Drupal läuft
- 'password' ist das Passwort für diesen Benutzer
4. Bei Erfolg antwortet MySQL/MariaDB mit:
Query OK, 0 rows affected
5. Aktualisieren Sie die Rechte, damit der Benutzer sie nutzen kann, mit:
FLUSH PRIVILEGES;
6. Verlassen Sie die MySQL/MariaDB-Kommandozeile mit:
exit
7. Die Antwort lautet:
Bye
Datenbank mit PostgreSQL erstellen
Die Datenbank muss mit UTF-8 (Unicode) erstellt werden.
1. Erstellen Sie einen Datenbankbenutzer
Dieser Schritt ist nur nötig, wenn Sie noch keinen Benutzer (z. B. von Ihrem Hoster) haben oder einen neuen Benutzer nur für Drupal anlegen wollen. Der folgende Befehl erstellt einen neuen Benutzer namens „username“ (ersetzen Sie ihn durch den gewünschten Namen) und fordert zur Eingabe eines Passworts auf:
createuser --pwprompt --encrypted --no-adduser --no-createdb username
Bei Erfolg sehen Sie die Meldung CREATE USER.
2. Erstellen Sie die Datenbank
Dieser Schritt ist nur nötig, wenn Sie noch keine Datenbank haben oder eine neue nur für Drupal anlegen wollen. Der folgende Befehl erstellt eine neue Datenbank namens „databasename“ (ersetzen Sie sie durch den gewünschten Namen) mit dem zuvor erstellten Besitzer „username“:
createdb --encoding=UNICODE --owner=username databasename
Bei Erfolg sehen Sie die Meldung CREATE DATABASE.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.