Benutzer-Werkzeuge

Webseiten-Werkzeuge


werkzeuge:phpmyadmin:start

phpMyAdmin


phpMyAdmin ist eine webbasierte Benutzeroberfläche zur Verwaltung von MySQL- und MariaDB-Datenbanken.

In meiner lokalen Entwicklungsumgebung wird phpMyAdmin zusammen mit XAMPP verwendet.

Es eignet sich insbesondere zum Anzeigen und Kontrollieren von Datenbanken, Tabellen, Datensätzen, Benutzerrechten und SQL-Abfragen.

Aufruf unter XAMPP

Nach dem Start von Apache und MariaDB kann phpMyAdmin normalerweise im Browser aufgerufen werden:

http://localhost/phpmyadmin/

phpMyAdmin selbst ist keine Datenbank.

Es stellt lediglich eine grafische Oberfläche für den Zugriff auf MySQL bzw. MariaDB bereit.


Grundaufbau

Die Oberfläche besteht im Wesentlichen aus:

  • Serverübersicht
  • Datenbankliste
  • Tabellenübersicht
  • Strukturansicht
  • Datenansicht
  • SQL-Eingabe
  • Import und Export
  • Benutzerkonten und Berechtigungen

Nach Auswahl einer Datenbank werden deren Tabellen und weitere Eigenschaften angezeigt.


Datenbanken anzeigen

In der linken Navigation werden die verfügbaren Datenbanken angezeigt.

Nach Auswahl einer Datenbank können unter anderem betrachtet werden:

  • Tabellen
  • Spalten
  • Indizes
  • Fremdschlüssel
  • Datensätze
  • Zeichensatz und Kollation

Bei RoWaBase ist insbesondere die Datenbank:

rowabase

relevant.


Tabellenstruktur kontrollieren

Über den Bereich Struktur kann geprüft werden, welche Spalten eine Tabelle besitzt.

Angezeigt werden beispielsweise:

  • Spaltenname
  • Datentyp
  • NULL-Eigenschaft
  • Standardwert
  • Index
  • Auto Increment

Das ist hilfreich, um nach einer Laravel-Migration zu kontrollieren, ob die erwartete Tabellenstruktur tatsächlich vorhanden ist.


Datensätze anzeigen

Über Anzeigen können die gespeicherten Datensätze einer Tabelle betrachtet werden.

Dies eignet sich beispielsweise zur Kontrolle von Testdaten, die über Laravel Tinker erzeugt wurden.

Beispiel:

php artisan tinker

Ein dort gespeicherter Datensatz kann anschließend in phpMyAdmin kontrolliert werden.


SQL-Abfragen

phpMyAdmin besitzt einen eigenen Bereich SQL.

Dort können SQL-Anweisungen direkt ausgeführt werden.

Beispiel:

SELECT *
FROM geschaeftspartner;

Oder:

SELECT *
FROM objekte
ORDER BY id;

Direkte SQL-Abfragen sind besonders für Kontrollen und gezielte Auswertungen hilfreich.


Vorsicht bei direkten Änderungen

phpMyAdmin erlaubt auch direkte Änderungen an Tabellen und Datenbankstrukturen.

Dazu gehören beispielsweise:

  • Spalten hinzufügen
  • Spalten löschen
  • Tabellen löschen
  • Indizes verändern
  • Datentypen ändern

Bei Projekten wie RoWaBase sollten Änderungen an der Datenbankstruktur jedoch grundsätzlich nicht direkt über phpMyAdmin durchgeführt werden.

Stattdessen werden Laravel-Migrationen verwendet.

Beispiel:

php artisan make:migration update_geschaeftspartner_grunddaten --table=geschaeftspartner

Anschließend:

php artisan migrate --database=mysql_migration --pretend

und nach der Kontrolle:

php artisan migrate --database=mysql_migration

Dadurch bleiben Strukturänderungen nachvollziehbar und Bestandteil des Projektstands.


phpMyAdmin als Kontrollwerkzeug

Für RoWaBase gilt deshalb grundsätzlich:

Laravel verändert die Datenbankstruktur.

phpMyAdmin dient hauptsächlich zum Ansehen, Prüfen und Analysieren der Datenbank.

Damit vermeiden wir, dass die tatsächliche Datenbankstruktur von den Laravel-Migrationen abweicht.


Datenbankbenutzer

MariaDB kann unterschiedliche Benutzer mit unterschiedlichen Berechtigungen verwenden.

Bei RoWaBase werden die Aufgaben bewusst getrennt.

Beispielsweise:

rowabase_app

für den normalen Anwendungszugriff und eine separate Datenbankverbindung für Migrationen.

Die Anwendung benötigt dadurch nicht automatisch Berechtigungen zum Erstellen, Löschen oder Verändern von Tabellen.

phpMyAdmin kann zur Kontrolle der vorhandenen Benutzer und Berechtigungen verwendet werden.


Benutzerrechte

Je nach Benutzer können unterschiedliche Rechte vergeben werden.

Beispiele:

SELECT
INSERT
UPDATE
DELETE
CREATE
ALTER
DROP
INDEX

Ein normaler Anwendungsbenutzer benötigt typischerweise nur die Rechte, die für den laufenden Betrieb tatsächlich erforderlich sind.

Strukturänderungen können über einen gesonderten Benutzer durchgeführt werden.


Import

phpMyAdmin kann SQL-Dateien importieren.

Typische Anwendungsfälle:

  • Wiederherstellung einer Datenbank
  • Übernahme einer vorhandenen Datenbank
  • Einspielen eines SQL-Dumps

Vor einem Import sollte geprüft werden, welche Datenbank ausgewählt ist und welche Tabellen oder Daten durch den Import verändert werden.


Export

Datenbanken und Tabellen können über phpMyAdmin exportiert werden.

Ein häufig verwendetes Format ist:

SQL

Ein SQL-Export kann sowohl Tabellenstrukturen als auch Daten enthalten.

Exporte können beispielsweise für Sicherungen oder zur Analyse einer Datenbank verwendet werden.


Zeichensatz und Kollation

Bei Datenbanken und Tabellen spielen Zeichensatz und Kollation eine wichtige Rolle.

RoWaBase verwendet:

utf8mb4

mit:

utf8mb4_unicode_ci

Dies war beispielsweise auch in der Ausgabe der Laravel-Migrationen sichtbar:

default character set utf8mb4
collate 'utf8mb4_unicode_ci'

phpMyAdmin ermöglicht eine einfache Kontrolle dieser Einstellungen.


AUTO_INCREMENT

Primärschlüssel werden in Laravel häufig folgendermaßen definiert:

$table->id();

MariaDB erzeugt daraus typischerweise einen automatisch hochgezählten Primärschlüssel.

In phpMyAdmin ist dies als:

AUTO_INCREMENT

erkennbar.


NULL und NOT NULL

phpMyAdmin zeigt ebenfalls an, ob eine Spalte leer beziehungsweise NULL sein darf.

Laravel:

$table->string('vorname')->nullable();

führt beispielsweise zu einer Spalte, die NULL enthalten darf.

Das ist bei RoWaBase insbesondere für das kontaktorientierte Geschäftspartner-Modell wichtig, da dort bewusst nur wenige Angaben zwingend erforderlich sein sollen.


Praxis: RoWaBase

Bei der Entwicklung von RoWaBase kann phpMyAdmin nach einer Migration zur Kontrolle verwendet werden.

Typischer Ablauf:

Migration erstellen
        ↓
Migration bearbeiten
        ↓
php -l ...
        ↓
php artisan migrate --database=mysql_migration --pretend
        ↓
SQL-Ausgabe kontrollieren
        ↓
php artisan migrate --database=mysql_migration
        ↓
Tabellenstruktur in phpMyAdmin kontrollieren

phpMyAdmin ersetzt dabei weder Laravel-Migrationen noch Git.

Es bietet eine zusätzliche Sicht auf den tatsächlichen Zustand der MariaDB-Datenbank.


phpMyAdmin und MariaDB

phpMyAdmin stellt die grafische Verwaltungsoberfläche bereit.

Das eigentliche Datenbanksystem ist bei RoWaBase:

MariaDB


phpMyAdmin und Laravel

Laravel greift über seine Datenbankverbindungen direkt auf MariaDB zu.

Migrationen, Models und Eloquent werden dokumentiert unter:

Laravel


phpMyAdmin und XAMPP

Die lokale phpMyAdmin-Installation ist Bestandteil der XAMPP-Entwicklungsumgebung.

Weitere Informationen:

XAMPP


Merksatz

phpMyAdmin ist bei RoWaBase vor allem das Fenster zur Datenbank.

Strukturänderungen werden über Laravel-Migrationen durchgeführt. phpMyAdmin dient dazu, den tatsächlichen Datenbankzustand anzusehen, zu kontrollieren und bei Bedarf gezielt zu analysieren.

↑

werkzeuge/phpmyadmin/start.txt · Zuletzt geändert: von admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki