StaticFloat
MariaDB 10 auf Raspberry Pi installieren

MariaDB 10 auf Raspberry Pi installieren

Ich stand die Tage vor der Aufgabe einen Datenbankserver auf meinem Pi installieren zu müssen. In dieser wollte ich einige Daten speichern, die auf dem Webserver laufen, der ebenfalls auf dem selben Pi läuft. Das Ganze gestaltete sich aber leider etwas schwieriger, als ursprünglich gedacht. Aus diesem Grund wollte ich euch hier einmal den „richtigen“ Weg zeigen oder zumindest den Weg, der bei mir funktionierte.

Die Installation und Einrichtung des Servers ist recht einfach. Das Einrichten einer Datenbank dafür etwas schwieriger.

Installation MariaDB 10

Führt folgende Befehle aus:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mariadb-client mariadb-server

Das wars dann auch schon xD

Einrichtung MariaDB 10

Jetzt kommt der etwas schwierigere Teil unserer Arbeit. Das Einrichten des Servers. Im Anschluss daran richten wir noch die Datenbank ein, erstellen Benutzer und vergeben Nutzerrechte. Aber eines nach dem Anderen.

Gebt nun den folgenden Befehl ein:

sudo mysql -u root -p

Ihr werdet hier nach einem Passwort gefragt. Wählt ein möglichst starkes Passwort und schreibt es euch auf, denn dies ist das spätere Passwort für den Admin der Datenbank, den Benutzer „root“. Habt ihr dieses neue Passwort eingeben befindet ihr euch in der Konsole von MariaDB. Führt noch diese beiden Befehle aus und ihr speichert die Eingabe, bzw. beendet die Konsole.

flush privileges;
exit;

Nun haben wir einen Benutzer angelegt.
Öffnet nun die Datei „my.conf“, indem ihr folgenden Befehl eingebt:

sudo nano /etc/mysql/my.conf

Fügt dort ein:

port = 3306
bind-address = :: #Erlaubt den Zugriff auf die DB von jeder IP-Adresse aus (Hinweis 1)

Hinweis 1: Diese Zeile sollte auskommentiert werden („#“ vor „bind-address“), wenn die DB nur vom Pi verwendet wird. Dies erhöht die Sicherheit.

Gespeichert wird über „Strg+X“, dann „y“ und die Enter-Taste.

Bevor wir den Server starte wollen wir noch eine Anpassung bezüglich der Sicherheit vornehmen. Dazu gibt es einen einfachen Befehl, der einen kleinen „Wizard“ zur Verfügung stellt.

sudo mysql_secure_installation

Nun könnt ihr euren Server mittels diesem Befehl neu starten:

sudo /etc/init.d/mysql restart

Einrichtung PHPMyAdmin

Als nächstes richten wir PHPMyAdmin ein. Ich nehme einfach mal an, dass ihr bereits einen Apache2 Server auf eurem Pi am laufen habt. Die Weboberfläche von PHPMyAdmin ermöglicht es uns ganz einfach die Datenbanken von MariaDB zu verwalten, Benutzer anzulegen und Daten in der Datenbank zu ändern.

sudo apt-get install phpmyadmin

Es wird während der Installation ein neuer Wizard angezeigt. Navigiert durch diesen. Wählt dabei aus, dass ihr einen Apache Server besitzt (Auswahl über Leertaste). Den Rest übernimmt der Wizard bei der Installation. Möglicherweise werdet ihr nach dem vorhin gewählten Passwort des Root Nutzers gefragt.

Wählt zusätzlich als Verbindungsart nicht „Unix/Socket“, sondern „IP/TCP“ und gebt dort „127.0.0.1“ mit dem Port „3306“ ein.

Gebt nun diesen Befehl ins Terminal ein:

sudo nano /etc/apache2/apache2.conf

Und fügt ans Ende der Datei ein:

Include /etc/phpmyadmin/apache.conf

Gespeichert wird wieder über „Strg+X“, dann „y“ und die Enter-Taste.

Den Server starten wir anschließend neu:

sudo /etc/init.d/apache2 restart

Root Zugriffsrechte

Derweilen kann es zu Problemen mit dem Login auf die phpMyAdmin Oberfläche kommen, wenn man versucht sich per root einzuloggen.
Um dieses Problem zu lösen müsst ihr auf der Konsolenebene dem root-Nutzer die Rechte geben sich per Passwort einzuloggen (diese Methode verwendet phpMyAdmin). Das ist ein „Sicherheitsfeature“.

Gebt ein:

mysql -u root [<--- Enter]
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket'; [<-- Enter]
FLUSH PRIVILEGES; [<-- Enter]
exit [<-- Enter]

Nun sollte der Login im nächsten Schritt funktionieren.

Fertig

Ruft jetzt einfach die IP des Pi auf und fügt ans Ende „/phpmyadmin“ an. Beispiel: „192.168.0.6/phpmyadmin“.

Viel Spaß beim Einrichten, programmieren und betreiben. Für Fragen stehe ich gerne in den Kommentaren zur Verfügung.

Melvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

9 Kommentare

*Pflichtfeld

  • Zitat: „Wählt zusätzlich als Verbindungsart nicht „Unix/Socket“, sondern „IP/TCP“ und gebt dort „127.0.0.1“ mit dem Port „3306“ ein.“

    Diese Eingabemöglichkeit wird während der Installation nicht angeboten.
    Ist das der Grund für die „falsche“ Passworteingabe?

    • Es kann sein, dass diese Auswahlmöglichkeiten nicht angezeigt werde, wenn man in der neueren Version von MariaDB die Konfiguration für apache2 ausgewählt hat. Ich verifiziere das noch einmal.

  • Zitat: „Wählt zusätzlich als Verbindungsart nicht „Unix/Socket“, sondern „IP/TCP“ und gebt dort „127.0.0.1“ mit dem Port „3306“ ein.“

    Diese Option wird während der Installation nicht aufgezeigt, vielleicht liegt es hieran, dass das Passwort nicht angenommen wird.

  • Moin

    alles hat anhand der Anleitung gut geklappt.
    Danke,

    Allerdings kann ich mich auf dem WebIF von PHPMyAdmin trotz des richtigen Kennwortes nicht einloggen „Access denied for user ‚root’@’localhost‘

    Wenn ich eine DB Erstellen möchte muss ich es aber mit dem root machen.

    Bitte um Hilfe

  • Hallo,

    erst mal danke für die Anleitung!

    Hab anhand deiner Angaben MariaDB und phpmyAdmin installiert.
    Der phpmyAdmin klappt bei mir aber irgendwie nicht so ganz, glaub ich auf jeden Fall.

    kannst du mir sagen, wie ich neue Benutzer anlegen kann?

    vielen dank und viele Grüße
    Tobi

    • Hallo Tobi,

      bitte versuche es einmal mit:
      sudo dpkg-reconfigure phpmyadmin

      Reinstall database for phpmyadmin:
      Connection method for MySQL database server for phpmyadmin: TCP/IP
      Host name of the MySQL database server for phpmyadmin: localhost
      Port number for the MySQL service: 3306
      MySQL database name for phpmyadmin: phpmyadmin

      MySQL username for phpmyadmin: root
      MySQL application password for phpmyadmin: pass # OR ANY PASSWORD YOU WANT
      Password confirmation: pass
      Name of the database's administrative user: root
      Web server to reconfigure automatically: apache2
      An error occurred while installing the database: ignore

      • Danke für die Anleitung, hat alles geklappt. Nur das Passwort wurde nicht angnommen. Deshalb o.g. ausprobiert.
        Aber wie arbeitet man die Befehlsfolge ab?
        Nach der ersten Zeile kommt ein Warnhinweis und auch mit OK geht es nicht weiter.
        Welche Zeile muss man wann und wo eingeben in der Konsole?
        Danke.

3D Drucker – Die häufigsten Probleme

Du hast Probleme mit deinem Drucker?
Vielleicht hilft dir diese Seite, mit Problemen und Lösungen zum Druck von Modellen.

Auf geht's!