Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Moodle-Datenbank.

Moodle-Datenbank

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.

Siehe en:Create Moodle site database


Moodle benötigt eine Datenbank, um alle Daten darin zu speichern. Empfohlen werden MySQL oder PostgreSQL-Datenbanken, Moodle unterstützt aber auch andere Datenbanken wie Oracle und Microsoft SQL-Server. Dieser Artikel beschreibt, wie Sie eine Moodle-Datenbank und einen Nutzer anlegen, der Zugriff auf diese Datenbank hat.

Anlegen der Datenbank von Kommandozeile

Wenn Sie Direktzugriff auf die Kommandozeile eines Unix-/Linux-Systems haben, können Sie auch über Kommandozeilenaufrufe alle Arbeiten erledigen.

Hier folgen die wichtigsten Kommandozeilenbefehle für eine MySQL-Datenbank unter Verwendung eines MySQL-Clients (das, was Sie eingeben, ist fett gedruckt):

  • Starten Sie das MySQL-Clientprogramm:
  #mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 2 to server version: 5.0.22-log
  • Geben Sie help; oder \h ein, um die Hilfe aufzurufen. Geben Sie \c ein, um den Buffer zu leeren.
  mysql>
Das Programm wechselt zu einem Prompt "mysql>" um zu zeigen, dass Sie nun im MySQL-Clientprogramm arbeiten. Wenn Sie mit MySQL arbeiten, müssen alle Befehle mit einem Semikolon ";" enden. (Wenn Sie die ENTER-Taste drücken, ohne den Befehl mit einem Semikolon abzuschließen, erscheint das Zeilenfortsetzungssymbol "->", geben Sie also jetzt das Semikolon ein und drücken Sie nochmals die ENTER-Taste.)
  • Prüfen Sie als nächstes, ob es bereits eine Datenbank "moodle" gibt, falls ja ersetzen Sie "moodle" in den folgenden Befehlszeilen durch einen anderen Datenbanknamen.
  mysql> SHOW DATABASES;
  +-------------------------+
  | Database                |
  +-------------------------+
  | information_schema      |
  | mysql                   |
  | test                    |
  +-------------------------+
  3 rows in set (0.03 sec)
  • Legen Sie eine Datenbank an, in der die Tabellen von Moodle gespeichert werden können. Wir nennen diese Datenbank im folgenden "moodle", da dieser Name in der Liste nicht auftaucht, es eine solche Datenbank also noch nicht gibt. Sie können natürlich auch einen anderen Namen verwenden.
  mysql> CREATE DATABASE moodle;
  Query OK, 1 row affected (0.00 sec)
  • Ändern Sie den Zeichensatz und die Kollation der Datenbank auf UTF8 (ab Moodle 1.6):
  mysql> ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
  Query OK, 1 row affected (0.00 sec)
  • Legen Sie einen Nutzer mit Kennwort an, der Zugriff auf diese Datenbank hat. Wir nennen den Nutzer im folgenden "moodleuser" mit dem Kennwort "yourpassword". Wir empfehlen Ihnen jedoch, für Ihre Moodle-Installation einen eigenen Nutzernamen und ein eigenes Kennwort zu wählen. Merjen Sie sich den Nutzernamen und das Kennwort, Sie benötigen es später für die Konfiguration von Moodle. Das Kommando zum Anlegen eines Nutzers ist ziemlich lang und im folgenden auf mehrere Zeilen aufgesplittet:
  mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,
      -> DROP,INDEX,ALTER ON moodle.*
      -> TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
  Query OK, 0 rows affected (0.01 sec)
Sicherheitshinweis: Verwenden Sie niemals ein Kennwort, wie hier angegeben! Verwenden Sie stattdessen ein eigenes, sicheres Kennwort (eine Mischung aus Zahlen, Groß- und Kleinbuchstaben, sowie Sonderzeichen). Vermeiden Sie es, dem Nutzer "ALLE" Rechte für die Datenbank zu geben, sondern geben Sie im nur die nötigen Rechte wie im obigen Befehl.
Anmerkung: Für MySQL-Versionen 4.0.1 und älter benötigen Sie das Recht CREATE TEMPORARY TABLES nicht.

Und hier ein Beispiel für eine PostgreSQL-Datenbank:

  • Verlassen Sie das MySQL-Clientprogramm wieder:
  mysql> QUIT
  Bye
  #
  • Verwenden Sie das Programm "mysqladmin", um die Rechte neu zu laden:
  #mysqladmin -u root -p reload
  Enter password:
  #

Tipp: Für MySQL-Datenbanken gibt es ein Programm phpMyAdmin, das eine Weboberfläche zur komfortableren Administration der Datenbanken bereitstellt. Mit diesem Programm können Sie über einen Browser neue Datenbanken und Datenbanknutzer anlegen, Rechte vergeben usw.

Wenn Sie eine PostgreSQL-Datenbank verwenden, dann sehen die entsprechenden Kommandos in etwa so aus:

  # su - postgres
  > psql -c "create user moodleuser createdb;" template1
  > psql -c "create database moodle with encoding 'unicode';" -U moodleuser template1
  > psql -c "alter user moodleuser nocreatedb;" template1
  > psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1
  > su - root
  # /etc/init.d/postgresql reload


Wenn Sie Webspace bei einem Internetprovider gemietet haben, stellt dieser meistens eine Weboberfläche zur Verfügung, um eine Datenbank anzulegen. Am weitesten verbreitet ist das System cPanel. system is one of the most popular of these. To create a database using cPanel:

  1. Click on the MySQL Databases icon.
  2. Type moodle in the New Database field and click Create Database.
  3. Type a username and password (not one you use elsewhere) in the respective fields and click Create User.
     Note that the username and database names may be prefixed by your cPanel account name and an underscore, and truncated to 16 characters. When entering this information into the Moodle installer - use the full names.
  4. Now use the Add Users to Databases button and give this new user account ALL rights to the new database. 

Continue with Creating the data directory