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 4: Zeile 4:
{{Installation}}
{{Installation}}


::Beachten Sie, dass die Moodle-Version 1.5 (bzw. 1.5.x) nicht mit MySQL 5.x's new "STRICT_TRANS_TABLES" Einstellung arbeitet. Wenn Sie aber MySQL 5.x benutzen, editieren Sie MySQLs Konfigurationsdatei (mit dem Namen "my.ini" in Windows und "my.cnf" in Unix/Linux) und löschen Sie diese Option. Sie müssen die Datenbank neu starten, nachdem Sie die Änderungen durchgeführt haben.
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)


Wenn Sie Direktzugriff auf die Kommandozeile eines Unix-/Linux-Systems haben, können Sie auch über Kommandozeilenaufrufe alle Arbeiten erledigen.
*Ändern Sie den Zeichensatz und die Kollation der Datenbank auf UTF8 (ab Moodle 1.6):


Hier die wichtigsten Kommandozeilenbefehle für eine MySQL-Datenbank (rote Schrift ist für eine Moodle-1.6-Version und höher, weglassen für Moodle 1.5 und frühere Versionen):
  mysql> '''ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;'''
  Query OK, 1 row affected (0.00 sec)


  # mysql -u root -p
*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:
  > CREATE DATABASE moodle <font color="red">DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci</font>;
  > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
          TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
  > quit
  # mysqladmin -p reload
      
      
  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:
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 [http://www.phpmyadmin.net 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
   # su - postgres
Zeile 29: Zeile 81:
   > su - root
   > su - root
   # /etc/init.d/postgresql reload
   # /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 [http://www.cpanel.com cPanel]. system is one of the most popular of these. To create a database using cPanel:
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:

Version vom 13. März 2009, 11:09 Uhr

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