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

Moodle-Datenbank: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Zum Übersetzen}}
Siehe [[:en:Create Moodle site database]]
{{Installation}}
{{Installation}}


Zeile 11: Zeile 8:
Hier folgen die wichtigsten Kommandozeilenbefehle für eine MySQL-Datenbank unter Verwendung eines MySQL-Clients (das, was Sie eingeben, ist '''fett''' gedruckt):
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:
Starten Sie das MySQL-Clientprogramm:


   #'''mysql -u root -p'''
   #'''mysql -u root -p'''
Zeile 18: Zeile 15:
   Your MySQL connection id is 2 to server version: 5.0.22-log
   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.
Geben Sie '''help;''' oder '''\h''' ein, um die Hilfe aufzurufen. Geben Sie '''\c''' ein, um den Buffer zu leeren.


   mysql>
   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.)
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.
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;'''
   mysql> '''SHOW DATABASES;'''
Zeile 36: Zeile 33:
   3 rows in set (0.03 sec)
   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.
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;'''
   mysql> '''CREATE DATABASE moodle;'''
   Query OK, 1 row affected (0.00 sec)
   Query OK, 1 row affected (0.00 sec)


*Ändern Sie den Zeichensatz und die Kollation der Datenbank auf UTF8 (ab Moodle 1.6):
Ä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;'''
   mysql> '''ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;'''
   Query OK, 1 row affected (0.00 sec)
   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:  
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,'''
   mysql> '''GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,'''
Zeile 53: Zeile 50:
   Query OK, 0 rows affected (0.01 sec)
   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.
'''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'''.
'''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:
Und hier ein Beispiel für eine PostgreSQL-Datenbank:


*Verlassen Sie das MySQL-Clientprogramm wieder:
Verlassen Sie das MySQL-Clientprogramm wieder:


   mysql> '''QUIT'''
   mysql> '''QUIT'''
Zeile 64: Zeile 61:
   #
   #


*Verwenden Sie das Programm "mysqladmin", um die Rechte neu zu laden:
Verwenden Sie das Programm "mysqladmin", um die Rechte neu zu laden:


   #'''mysqladmin -u root -p reload'''
   #'''mysqladmin -u root -p reload'''
Zeile 82: Zeile 79:
   # /etc/init.d/postgresql reload
   # /etc/init.d/postgresql reload


Wenn der create-Befehl (<code>>psql -c "create database moodle..."</code>) eine Fehlermeldung liefert, können Sie es mit folgendem Kommando probieren:
  > psql -c "create database moodle with template=template1 encoding = 'unicode' owner =  moodleuser <br>    location = '/var/mydata';"
Wenn der create-Befehl nach einem Kennwort fragt, rufen Sie die Zeile <code>> psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1</code>, bevor Sie fortsetzen.


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 [http://www.cpanel.com cPanel]. system is one of the most popular of these. To create a database using cPanel:
==Anlegen der Datenbank auf einem Webhost==
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 [http://www.cpanel.com cPanel]. Um eine Datenbank mit cPanel anzulegen, gehen Sie folgendermaßen vor:


  1. Click on the MySQL Databases icon.
#Klicken Sie auf das Symbol '''MySQL Databases'''.
  2. Type moodle in the New Database field and click Create Database.
#Tragen Sie den Datenbanknamen (z.B. "moodle") in das Eingabefeld ein und klicken Sie auf "Create Database'', um die neue Datenbank anzulegen.
  3. Type a username and password (not one you use elsewhere) in the respective fields and click Create User.
#Geben Sie in den entsprechenden Feldern einen Nutzername und ein Kennwort ein (verwenden Sie ein sicheres Kennwort!) und klicken Sie auf "Create User", um den Datenbanknutzer anzulegen. '''Achtung''': Es kann sein, dass Nutzername und Kennwort automatisch mit einem Präfix versehen werden, das aus Ihrem cPanel-Nutzernamen gefolgt von einem Unterstrich und abgeschnitten nach 16 Zeichen besteht. In der Moodle-Konfigurationsdatei müssen Sie auf jeden Fall die vollständigen Bezeichnungen (mit Präfix!) angeben.
      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.
#Klicken Sie auf den Button "Add Users to Databases" und geben Sie dem neu angelegten Nutzer ALLE Rechte für die neue Datenbank.
  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
==Anlegen einer SQLite-Datenbank==
{{Moodle 2.0}}
SQLite ist eine Software-Bibliothek, die ein relationales Datenbanksystem implementiert, dass Transaktionen unterstützt und keine weitere Server-Software und Konfiguration benötigt.


Moodle 2.0 bietet Unterstützung für SQLite3-Datenbanken, aber nur experimetell, also als Testversion. In diesem Fall ist keine Datenbankonfiguration nötig. Die Datenbank wird vom [[Installationsskript]] angelegt. Standardmäßig wird die Datenbankdatei im [[Moodle-Datenverzeichnis]] gespeichert. Während des Installationsprozesses muss der Webserver Schreibzugriff auf dieses Verzeichnis haben. Nach der Installation benötigt der Webserver Lese- und Schreibrechte für die Datenbankdatei.


[[Category:Installation]]
[[Category:Installation]]

Version vom 13. März 2009, 12:20 Uhr


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 der create-Befehl (>psql -c "create database moodle...") eine Fehlermeldung liefert, können Sie es mit folgendem Kommando probieren:

  > psql -c "create database moodle with template=template1 encoding = 'unicode' owner =  moodleuser 
location = '/var/mydata';"

Wenn der create-Befehl nach einem Kennwort fragt, rufen Sie die Zeile > psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1, bevor Sie fortsetzen.

Anlegen der Datenbank auf einem Webhost

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. Um eine Datenbank mit cPanel anzulegen, gehen Sie folgendermaßen vor:

  1. Klicken Sie auf das Symbol MySQL Databases.
  2. Tragen Sie den Datenbanknamen (z.B. "moodle") in das Eingabefeld ein und klicken Sie auf "Create Database, um die neue Datenbank anzulegen.
  3. Geben Sie in den entsprechenden Feldern einen Nutzername und ein Kennwort ein (verwenden Sie ein sicheres Kennwort!) und klicken Sie auf "Create User", um den Datenbanknutzer anzulegen. Achtung: Es kann sein, dass Nutzername und Kennwort automatisch mit einem Präfix versehen werden, das aus Ihrem cPanel-Nutzernamen gefolgt von einem Unterstrich und abgeschnitten nach 16 Zeichen besteht. In der Moodle-Konfigurationsdatei müssen Sie auf jeden Fall die vollständigen Bezeichnungen (mit Präfix!) angeben.
  4. Klicken Sie auf den Button "Add Users to Databases" und geben Sie dem neu angelegten Nutzer ALLE Rechte für die neue Datenbank.

Anlegen einer SQLite-Datenbank

Moodle2.0

SQLite ist eine Software-Bibliothek, die ein relationales Datenbanksystem implementiert, dass Transaktionen unterstützt und keine weitere Server-Software und Konfiguration benötigt.

Moodle 2.0 bietet Unterstützung für SQLite3-Datenbanken, aber nur experimetell, also als Testversion. In diesem Fall ist keine Datenbankonfiguration nötig. Die Datenbank wird vom Installationsskript angelegt. Standardmäßig wird die Datenbankdatei im Moodle-Datenverzeichnis gespeichert. Während des Installationsprozesses muss der Webserver Schreibzugriff auf dieses Verzeichnis haben. Nach der Installation benötigt der Webserver Lese- und Schreibrechte für die Datenbankdatei.