Archiv der Kategorie: Workaround

Usability and Addons Integration unblog Technical Workarounds and Tutorials for Professionals

MySQL root Passwort auf leer setzen

In manchen Situationen ist ein leeres MySQL-Root-Passwort nützlich, zum Beispiel bei der Bereitstellung von Tests, wenn mehrere Datenbankschemata importiert werden müssen oder einfach beim Bereitstellen von SQL-Datenbanken, die für Versuchszwecke bereitgestellt werden sollen.

Wie setzt man ein blankes MySQL-Root-Passwort?

MySQL root Passwort auf leer setzen

Öffne hierzu im Terminal zunächst MySQL mit dem Root-Konto.

$ sudo mysql

Bei einigen Konfigurationen muss möglicherweise der folgende Befehl ausgeführt werden, mit Root-Passwort Eingabe.

$ mysql -u root -p

Wenn man ein leeres Passwort für den Root-Benutzer festlegen muss, so kann dies mit diesem Befehl erstellt werden.

MariaDB> SET PASSWORD FOR 'root'@'localhost' = '';

Wenn das Passwort eines bereits bestehenden Benutzers auf leer gesetzt werden soll, kann folgender ALTER USER Befehl verwendet werden.

MariaDB> ALTER USER 'user'@'localhost' IDENTIFIED BY '';

Der folgende Befehl erstellt ein neuen Benutzer user und wird ein leeres Passwort festlegen.

MariaDB> CREATE USER 'user'@'localhost' IDENTIFIED BY '';

Alternativ kann mit mysqladmin das root Passwort leer gesetzt werden.

$ sudo mysqladmin -u root -pcurrent_password password ''

MySQL lässt sich auch in der grafischen Weboberfläche von phpMyAdmin einfach und übersichtlich verwalten.

Fazit

In diesem Beitrag zeige ich, wie ein leeres MySQL-Root-Passwort erstellt wird, für Situationen nützlich, wie beispielsweise bei der Bereitstellung von Tests, wenn mehrere Datenbankschemata importiert werden müssen, oder einfach, wenn SQL-Datenbanken zum Testen in Nicht-Produktionsumgebungen bereitgestellt werden sollen, hier sind Hürden nicht sehr sinnvoll und eine Vereinfachung kann angestrebt werden.

Relationale Datenbankmanagementsysteme wie MySQL, MariaDB und PostgreSQL gehören laut dem aktuellen DB-Engines-Ranking zu den populärsten. Da sie als sehr zuverlässig gelten und Inkonsistenzen in den Datensätzen vermeiden, sind sie seit Jahrzehnten als etablierter Standard für Datenbanken in den meisten Systemen gesetzt.

Um die Daten darin abzufragen und zu bearbeiten, kommt in der Regel die Datenbanksprache Structured Query Language (SQL) zum Einsatz. So kommunizieren Anwender beispielsweise über eine Maske für Produktsuche in einem Webshop mit einem Server. Dieser fragt wiederum eine Datenbank ab und spielt die erhaltenen Informationen an den Webshop als Suchergebnis zurück.

Auf diesem Weg sind die in der Datenbank gespeicherten Daten anfällig für sogenannte SQL-Injection (SQLi), die beliebigen Code in Abfragen einschleust. So ist es möglich, Informationen unerlaubt auszulesen oder zu verändern. Im schlimmsten Fall erlangen die Eindringlinge Kontrolle über die gesamte Datenbank.

Linux Befehl tail -f unter Windows

Linux tail gehört zu den GNU Core Utilities (Coreutils), in Windows ist tail nicht enthalten. Es handelt sich dabei um eine Sammlung grundlegender Befehle für die Kommandozeile, welche bei den meisten Linux OS enthalten sind.

In erster Linie dient der Linux-Befehl tail dazu, das Ende einer (Text)-Datei auszugeben. Aber auch um die Ausgabe auf einen bestimmten Bereich zu beschränken. Der tail-Befehl ist verwandt mit dem head-Befehl und den Befehlen cat und less. Diese Linux-Befehle erfüllen alle den einen zweck, die Inhalte von Textdateien auszugeben.

Linux Befehl tail -f unter Windows

Linux tail mit PowerShell bei Windows

Wie unter Linux verwendet man tail mit der Option -f (–follow), um die Aktualisierung einer Protokolldatei in Echtzeit zu verfolgen.

tail unter Windows

PowerShell Get-Content -Wait -Tail

Bei Windows ist der Linux tail Befehl nicht vorhanden. Dafür hat Windows den PowerShell Befehl Get-Content, mit der Option -Wait -Tail kann eine Protokolldatei in Echtzeit verfolgt werden. Neue Zeilen die in die Protokolldatei geschrieben werden, können so auch unter Windows laufend angezeigt werden.

PS C:\> Get-Content C:\inetpub\logs\LogFiles\W3SVC1\20230227.log -Wait -Tail 20

  Die Aktualisierung wird gestoppt wenn man in das PowerShell Fenster klickt, die Aktualisierung bleibt im Markierungsmodus stehen. Mit Escape wird die Aktualisierung wieder fortgeführt.

In diesem Beispiel wird die IIS-Protokolldatei in Echtzeit verfolgt und in Windows 10 oder Windows 11 PowerShell ausgegeben.

Bei Linux ist der entsprechende Befehl, tail -f und würde bei Windows so aussehen, tail -f C:\inetpub\logs\LogFiles\W3SVC1\20230227.log