Der MySQL Server unter Debian 8 nutze noch die mySQL Datenbank. Ab Debian 9 wird die Open Source basierte mariaDB Datenbank für den SQL Server genutzt. Das Einrichten gestaltet sich bei dem MariaDB basierten SQL Server genauso einfach wie beim MySQL Server mit MySQL Datenbank unter Debian 8.
Ein wenig Verwunderung löst allerdings die fehlende Eingabeaufforderung für das Passwort des Rootaccounds aus – es wird standardmäßig kein Passwort gesetzt. Das hat Vor- und Nachteile.
Wird der Server über die Kommandozeile administriert, vereinfacht das unix_socket Plugin den Loginprozess in der Form, dass ein Rootlogin über das Rootkonto des Hosts keine Passwortfrage mehr generiert. Ein Rootlogin auf dem mySQL Server ist somit via folgendem Befehl möglich:
1 |
sudo mysql -u root |
Das aktivierte unix_socket Plugin hat allerdings einen entscheidenden Nachteil, wenn für die Datenbankserveradministration externe Werkzeuge wie phpMyAdmin o.a. genutzt werden. Ein Rootlogin ohne Terminal ist nicht mehr möglich. Da phpMyAdmin unter dem Benutzer www-data läuft, funktioniert der SQL Rootlogin über phpMyAdmin mit aktivierten Plugin nicht mehr. Um weiterhin mit phpMyAdmin und Rootrechten arbeiten zu können, gibt es zwei Möglichkeiten:
- Dem bei der Installation erstellen Benutzer phpmyadmin Vollzugriff auf den SQL Server gewähren:
1sudo mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;" - Einen weiteren Accound (z.B. myadmin) für phpMyAdmin mit vollen Zugriffsrechten anlegen und diesen für externe Werkzeuge wie phpMyAdmin nutzen. Ein weiterer Accound mit vollen Zugriffrechten und Passwort Login kann mit folgenden Befehlen angelegt werden:
1234sudo mysql -u rootgrant all on *.* to myadmin@localhost identified by 'geheim' with grant option;FLUSH PRIVILEGES;exit
Infosource | Infosource
Das Deaktivieren des Unix_socket Plugins ist eher suboptimal, da einige Programme beim Einrichten ihrer Konfigurationen einen MySQL Rootlogin ohne Passwortabfrage erwarten. Sollte es dennoch nötig sein für den Rootaccound des SQL Servers ein Passwort zu setzen und das Unix_socket Plugin zu deaktivieren ist dies wie folgt zu realisieren:
Rootpasswort für den SQL Server setzen:
1 2 3 |
sudo mysql -u root MariaDB [(none)]> update mysql.user set password=password('geheim') where user='root'; MariaDB [(none)]> flush privileges; |
Unix_socket Plugin deaktivieren:
1 2 3 4 5 |
sudo mysql -u root -p Enter password: ******* select user,host,password,plugin from mysql.user; update mysql.user set plugin='' where user='root'; flush privileges; |
Eine Reaktivierung des Unix_socket Plugins für den Rootaccound sowie das Deaktivieren des Rootpasswortes kann mit folgenden Befehlen erreicht werden:
1 2 3 4 5 |
sudo mysql -u root SET PASSWORD FOR root@localhost=PASSWORD(''); select user,host,password,plugin from mysql.user; update mysql.user set plugin='unix_socket' where user='root'; flush privileges; |
Tipps und Tricks
Das Paket php-twig verursacht bei der Installation von phpMyAdmin unter Debian 10 aus den main Repositories ein Abhängigkeitsproblem.
phpmyadmin : Hängt ab von: php-twig (> 2.9) aber 2.6.2-2+deb10u1 soll installiert werden
Empfiehlt: php-tcpdf soll aber nicht installiert werden
Über die Backport Repositories lässt sich die passende Version installieren:
1 |
sudo apt -t buster-backports install php-twig |
by Speefak| kofler.info