PhpMyAdmin WEB-Interface für MariaDB und MySQL

Mit PhpMyAdmin können wir bequem über WEB-Interface in MariaDB bzw. MySQL Datenbenken, Tabelle etc. erstellen. PhpMyAdmin unterstützt eine Vielzahl von Vorgängen in MySQL und MariaDB.

Punkt
Um PhpMyAdmin auf Debian System zu installieren, müssen wir einfach ein Paket phpmyadmin installieren.

 

# apt install phpmyadmin
Punkt
Vor dem Beenden der Installation kommen noch Fragen zu PhpMyAdmin Konfiguration. Die sind selbsterklärend. Zuerst müssen wir den richten Webserver auswählen.

 

Punkt
Die Datenbank für PhpMyAdmin wird noch installiert und konfiguriert. Dieses kann mit der Hilfe von dbconfig-commen geschehen. Wir beantworten mit Ja, damit das gemacht wird-

 

Punkt
Es wird noch nach dem root Passwort verlangt. Wir bestätigen das noch und damit ist Installation des Paketes phpmyadmin abgeschlossen.

 

PhpAdmin WEB-Interface Anmeldung.

Punkt
Wir können im beliebigen Browser die PhpMyAdmin WEB-Interface aufrufen mit,

http://<IP-Adresse-Des-Servers>/phpmyadmin
.

Hier kann man sich mit dem Benutzer root und dem entsprechenden Passwort anmelden. Sollte bei der Anmeldung unterstehender Fehler erscheinen,
mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES), bedeutet, dass das Passwort falsch ist.
Wir müssen das Passwort für den Benutzer root in der MariaDB setzen.

 

Punkt
Das root Passwort wird in der MariaDB wie folgt gesetzt. Zuerst aber mir
# mysql -u root -p
in die MariaDB anmelden.

 

# MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'YouNewPassword';

 

Es kann man auch einen neuen Benutzer mit vollen Zugriffsrechten anlegen. Das wird auf der MariaDB-Konsole gemacht. Als Beispiel wird hier ein Benutzer admin mit dem Passwort secret erstellt

MariaDB [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'secret';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
Punkt
Jetzt kann man sich unter
http://<IP-Adresse-Des-Servers>/phpmyadmin
anmelden. Diesmal kommt keine Fehlermeldung.

Erstellung einer DB und eines Benutzers auf der MariaDB Konsole

Punkt
Auf der MariaDB Konsole kann man auch ziemlich schnell, eine Datenbank und einen Benutzer, der dann Zugriff auf die Datenbank bekommt, erstellen.
Wir erstellen eine Datenbank mit dem Namen meineDB und einen Benutzer userApp1.


Eine Datenbank namens meineDB wird erstellt.

 

MariaDB [(none)]> CREATE DATABASE meineDB;

 

Ein Benutzer userAPP1mit dem Passwort secret wird erstellt.

 

MariaDB [(none)]> CREATE USER 'userAPP1'@'localhost' IDENTIFIED BY 'secret';

 

Der Benutzer bekommt volle Zugriffsrechte auf die Datenbank: meineDB

MariaDB [(none)]> GRANT ALL PRIVILEGES ON meineDB . * TO 'userAPP1'@'localhost';

 

Die Privilegien werden neu geladen.

MariaDB [(none)]> FLUSH PRIVILEGES;

 

Alle mögliche SQL Befehle kann man hier ausführen

MySQL Remote Zugriff

Bei einigen Anwendungen wird ein Remote Zugriff gebraucht. Um Remote Zugriff zu ermöglichen, muss man zwei Sachen machen,

  1. eine Konfigurationsdatei anpassen
  2. Den Benutzer für Remote in die Datenbank eintragen.
Punkt
Unter Debian 12 öffnen wir die Datei /etc/mysql/mariadb.conf.d/50-server.cnf und passen den Eintrag
bind-address = 127.0.0.1 ein. Um Remote Zugriff zu bekommen, müssen wir den Eintrag auf
bind-address = 0.0.0.0 ändern. Danach den MariaDB Dienst neu starten.

Punkt
Im zweiten Schritt müssen wir die entsprechende Berechtigung in der MariaDB für den Benutzer einrichten. Wir loggen uns auf die MariaDB Konsole ein, danach können wir die Berechtigungen setzen. In unserem Fall haben wir eine Datenbank: meineDB, den Benutzer: userAPP1 und Passwort secret. Drei Fälle werden wir berücksichtigen.

Der Benutzer: userAPP1 darf per Remote auf die Datenbank: meineDB nur von der IP: 172.16.0.250 zugreifen.

 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON meineDB . * TO 'userAPP1'@'172.16.0.250' IDENTIFIED BY 'secret';

 

Der Benutzer darf nur aus dem Netz 172.16.0.0/255.255.252.0 zugreifen.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON meineDB . * TO 'userAPP1'@'172.16.0.250/255.255.252.0 ' IDENTIFIED BY 'secret';

 

Der Benutzer darf von überall zugreifen.

MariaDB [(none)][gt] GRANT ALL PRIVILEGES ON meineDB . * TO 'userAPP1'@'%' IDENTIFIED BY 'secret';