MySQL phpMyAdmin installieren

Raspberry Pi Apr. 18, 2020
https://my.makesmart.net/topic/64/tutorial-phpmyadmin-installieren-apache2

phpMyAdmin ist eine freie Webanwendung zur Administration von MySQL-Datenbanken und deren Fork MariaDB. Die Software ist in PHP implementiert; daher kommt der Name phpMyAdmin. Die meisten Funktionen können ausgeführt werden, ohne selbst SQL-Anweisungen zu schreiben, wie z. B. Datensätze auflisten, Tabellen anlegen/löschen, Spalten hinzufügen, Datenbanken anlegen/löschen und Benutzer verwalten.

Quelle: Wikipedia


Nachdem ihr auf diesen Post geklickt habt, nehme ich mal an ihr wisst was MySQL ist. Aus dem Grund möchte ich nicht weiter darauf eingehen. Eins aber ist klar:

Die Verwaltung einer Datenbank und deren Tabellen über die Konsole ist zwar sicher, aber nicht sonderlich komfortabel. Da ich gerade dabei bin, alles was möglich ist, zu mir ins lokale Netzwerk zu holen, bleiben auch einige Datenbanken davon nicht unberührt.

Aus diesem Grund schreibe ich eine allgemeine Anleitung zum Thema:
phpmyadmin installieren Apache2.


phpmyadmin erleichtert die Administration der Datenbanken erheblich. Gerade wenn man den heimischen Server regelmäßig für debugging Zwecke verwendet, oder ein paar regelmäßig wechselnde Webanwendungen am laufen hat, ist phpmyadmin schon fast essentiell.


Vorbereitungen

Wie bereits erwähnt, muss ein MySQL-Server installiert sein. Prüfen könnt ihr das, indem ihr folgenden Befehl in der Konsole absetzt:

mysql --version
mysql  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnueabihf (armv8l) using readline 5.2

MySQL ist in der Version x.x installiert, was bedeutet, dass auch bereits einen Datenbank-Benutzer vorhanden sein sollte.

Meine MySQL-Daten lauten:

BenutzernamePasswort
coopercooper_pw

Als nächstes kann noch geprüft werden, ob phpmyadmin vielleicht nicht schon installiert ist. Dazu einfach den folgenden Pfad im Browser aufrufen:

http://makesmart-server/phpmyadmin

Wenn nichts angezeigt wird, ist auch nichts installiert. ✔ Let’s go.


Installation

Zum Installieren reicht, wie so oft, ein einfacher Befehl:

sudo apt install phpmyadmin

Webserver

webserver_apache2.png

Als Webserver verwende ich Apache2, wählt den Punkt bei euch entsprechend aus.

Der markierte Punkt wird erst durch das Drücken der Leertaste ausgewählt!

Danach Tab und mit Enter bestätigen.


phpmyadmin Datenbank konfigurieren

dbconfig_common.png

Wenn ihr nicht die absoluten Datenbank-Administrator-Profis seid, gehorcht den Empfehlungen des Setups und wählt <Yes> aus. Die Konfiguration wird dann automatisch vorgenommen.


phpmyadmin Passwort

Nach dem Bestätigen wird ein Passwort verlangt. Dieses Passwort ist für den Nutzer phpmyadmin, nicht für euch! Ihr solltet das Passwort selbst vergeben und es euch anschließend für die Zukunft notieren.


Abschluss

Nach der Vergabe des Passwortes ist die Installation abgeschlossen und ihr könnt die Weboberfläche von phpmyadmin aurufen und euch mit euren Daten einloggen.

http://makesmart-server/phpmyadmin
BenutzernamePasswort
coopercooper_pw

Folgende Einstellungen & Konfigurationen sind nicht zwingend erforderlich und ggf. schon vorher erledigt worden.

Nicht all diese Fehler treten bei jedem nach der Installation auf.


Mögliche Fehler

1. Fehlende Rechte

Beim Versuch, eine neue Datenbank zu erstellen, wird ein Fehler ausgespuckt - uns fehlen die Berechtigungen.

Bildschirmfoto 2020-04-18 um 15.41.34.png

Da wir der Herr des Servers sind, werden wir uns jetzt alle Rechte für alle Datenbanken und deren Tabellen geben. Setzt dafür erstmal folgenden Befehl im Terminal ab:

sudo mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 19552Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>

Die Rechte werden mit diesem Befehl hier angepasst:

GRANT ALL PRIVILEGES ON *.* TO 'cooper'@'localhost';

Danach kann das MySQL-Terminal wieder verlassen werden

exit

Wir können jetzt nicht nur neue Datenbanken erstellen, sondern haben auch alle anderen Zugriffsrechte auf alle Datenbanken des Servers und auch auf deren Inhalt.

VORSICHT! Mit dem Zugriff auf alle Tabellen können auch Inhalte gelöscht, hinzugefügt und bearbeitet werden. Wir könnten, wenns drauf ankommt, alles zerstören.

Also eigentlich alles was wir brauchen. 🤣


2. Datenbanken lassen sich nicht löschen

Wir können jetzt zwar 1000 Datenbanken erstellen, aber leider keine einzige davon löschen.

Bildschirmfoto 2020-04-18 um 15.50.17.png

Der Grund dafür ist ein fehlender Pramater der phpmyadmin-Konfiguration. Diesen können wir aber ganz leicht hinzufügen.

sudo nano /etc/phpmyadmin/config.inc.php

Fügt ganz am Ende folgende Zeile ein:

$cfg['AllowUserDropDatabase'] = true;

Jetzt können wir nicht nur 1000 Datenbanken erstellen, sondern auch 1000 und eine löschen. Aufpassen!

Bildschirmfoto 2020-04-18 um 15.54.30.png


3. Fehler auf dem Sever

Nachdem ich in meine_erste_datenbank eine meine_erste_tabelle angelegt habe, wird mir beim Aufrufen der Tabelle eine Meldung angezeigt.

Bildschirmfoto 2020-04-18 um 15.58.09.png

Der Fehler wird in ziemlich grausamen Rot (kaum zu übersehen) am Ende der Seite angezeigt. Der Inhalt besagt folgendes:

Warning in ./libraries/sql.lib.php#613count(): Parameter must be an array or an object that implements Countable[...]noch gefühlt 500 weitere Zeilen[...]

Die betroffene Datei liegt unter

/usr/share/phpmyadmin/libraries/

und kann mit dem Editor nano bearbeitet werden:

sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Mit Strg + Shift + _ kann man zu einer bestimmten Zeile springen.

In besagter Zeile 613 finden wir folgendes:

|| (count($analyzed_sql_results['select_expr'] == 1)

Diese Zeile muss wie folgt bearbeitet werden:

|| ((count($analyzed_sql_results['select_expr']) == 1)

Speichern, und der Fehler ist verschwunden.


Persönliche Tipps

Sucht euch für eure persönlichen Tabellen einen Präfix, den ihr standardmäßig immer verwendet. Zum Beispiel etwas in dieser Art:

private_db1private_db2private_db3private_counter

Mehrere Datenbanken mit dem gleichen Präfix werden Gruppiert. So ist die Chance schon mal geringer, aus Versehen etwas falsches zu tun.

EingeklapptAusgeklappt
Bildschirmfoto 2020-04-18 um 16.17.05.pngBildschirmfoto 2020-04-18 um 16.16.46.png

Community

Die makesmart Community ist der Ort, an dem du deine Ideen mitteilen und deine Erfahrungen austauschen kannst.

Großartig! Das Abonnement wurde erfolgreich abgeschlossen.
Großartig! Schließe als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.
Willkommen zurück! Du hast dich erfolgreich angemeldet.
Erfolg! Dein Konto ist vollständig aktiviert, du hast jetzt Zugang zu allen Inhalten.