Kategorie: MySQL

  • MariaDB Root User unter Debian / Ubuntu neu erstellen | Passwort Reset für MariaDB Root User unter Debian / Ubuntu

    Der MariaDB Root User unter einer Debian Installation wurde gelöscht. Daraufhin war kein Root-Zugriff mehr auf die MariaDB Instanz mehr möglich.

    Nach einigen Anleitungen die nicht funktioniert hatten, weil sie sich hauptsächlich auf ältere MySQL Versionen bezogen, wurde ich bei dem folgenden Artikel fündig:

    https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password-on-ubuntu-20-04

    Hier noch einmal die Schritte um einen neuen MariaDB Root User mit allen Rechten zu erstellen:

    Starten des MariaDB Servers im Wartungsmodus ohne Rechteüberprüfung:

    systemctl stop mariadb
    systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
    systemctl start mariadb

    Starten der MariaDB Shell:

    mysql -u root

    Erstellen des neuen MariaDB Root Benutzers auf der MariaDB Shell mit SQL:

    FLUSH PRIVILEGES;
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword!!!';
    GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION;

    Starten des MariaDB Servers im normalen Modus mit Rechteüberprüfung:

    systemctl stop mariadb
    systemctl unset-environment MYSQLD_OPTS
    systemctl start mariadb

    Danach hat man mit dem neuen Root User wieder vollen Zugriff auf die MariaDB Installation.

    Wenn der MariaDB Root User noch existiert und nur das Root Passwort zurückgesetzt werden soll, kann man das natürlich auch mit folgendem SQL Code tun:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

  • mysqldump / AutoMySQLBackup Warning: Skipping the data of table mysql.event. Specify the –events option explicitly

    Nach einem Update auf MySQL 5.5.3, taucht in den Logs der Datenbank-Backups folgende Warnung auf:

    -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly

    Unter mysql-and-warnings-yet-another wird ausführlich auf die Problematik eingegangen.

    Damit man diese Fehlermeldung wieder los wird, hat man folgende Optionen:

    • –events als Parameter dem mysqldump Befehl hinzufügen.  –> Die Warnung  verschwindet, da nun die Event-Tabelle explizit gesichert wird.
    • –ignore-table=mysql.event als Parameter dem mysqldump Befehl hinzufügen. –> Die Warnung verschwindet, da nun die Event-Tabelle explizit NICHT gesichert wird.

    Wenn man das Backup-Script AutoMySQLBackup (Bugreport) einsetzt, findet man im Script folgende Zeile, in der man die gewünschte Option einfügen kann:

    OPT="--quote-names --opt --single-transaction" # OPT string for use with mysqldump ( see man mysqldump )

    Wenn die Event-Tabelle gesichert werden soll:

    OPT="--quote-names --opt --single-transaction --events" # OPT string for use with mysqldump ( see man mysqldump )

    Oder wenn die Event-Tabelle NICHT gesichert werden soll:

    OPT="--quote-names --opt --single-transaction --ignore-table=mysql.event" # OPT string for use with mysqldump ( see man mysqldump )