EN

Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).

Copying for private and non-public usage is allowed.

DE

Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Das private Kopieren und Benutzen ist natürlich erlaubt.

Kategorie "mySQL"

SeaFile: mySQL fehlt: ModuleNotFoundError: No module named 'MySQLdb'

Wenn man bei einer frischen SeaFile Installation (mit mySQL) den seaHub Dienst das erste Mal starten möchten, dann antwortet einem (auf einem frisch aufgesetzten Server) gerne diese Meldung:

./seahub.sh start
LC_ALL is not set in ENV, set to en_US.UTF-8
./seahub.sh: Zeile 210: Warnung: setlocale: LC_ALL: Kann die Locale nicht ändern (en_US.UTF-8): Datei oder Verzeichnis nicht gefunden
Starting seahub at port 8000 ...
Error:Seahub failed to start.
Please try to run "./seahub.sh start" again

OK, den Fehler mit "Kann die Locale nicht ändern (en_US.UTF-8): Datei oder Verzeichnis nicht gefunden" können wir (mehr …)

Linux: Komplette Deinstallation des mariaDB Servers (optional inkl. Neuinstallation)

Um den MariaDB Server komplett von einem Linux System zu entfernen, können Sie folgende Befehle nutzen: (mehr …)

mySQL: 'user' entry 'test@localhost' has both a password and an authentication plugin specified

Wenn unter VirtualMin plötzlich sich Ihre mySQL Benutzer nicht mehr anmelden können (= viele Webseiten oder Funktionen liefern Fehler bzw. leere Seiten), dann kann es an einem Bug oder Scriptfehler liegen.

Wir hatten diesen Fehler auf Servern, auf denen z.Bsp. Installations-Skripte von VirtualMin ausgeführt wurden. Diese Skripte liefen zwar fehlerfrei durch, jedoch waren anschließend keine mySQL Anmeldungen mehr möglich:

tail -f /var/log/mysql/error.log
2019-11-29 20:30:39 00000 [Note] Server socket created on IP: '127.0.0.1'.
2019-11-29 20:30:39 00000 [Warning] 'user' entry 'test@localhost' has both a password and an authentication plugin specified. The password will be ignored.
2019-11-29 20:30:39 00000 [Note] /usr/sbin/mysqld: ready for connections.

Die schnelle lösung für das sofortige Wiederherstellen der Anmeldungen waren in unserem Fall folgende Schritte: (mehr …)

mySQL (mariaDB) in Netdata einbinden

Wie Sie einen Netdata Service auf Ihrem Server installieren, haben wir Ihnen in unserem Beitrag "Netdata auf einem Debian Server installieren" gezeigt. In diesem Beitrag zeigen wir einen möglichen Weg, Analysedaten und Auslastungen Ihres mySQL (oder mariaDB) Servers auf der Netdata Seite anzuzeigen.

Das benötigte Python DB Modul wurde bereits installiert. Sollten Sie eine andere Installation benutzt haben, können Sie das Paket durch folgenden Befehl installieren; sollte es bereits vorhanden sein, dann erhalten Sie nur eine entsprechende Meldung: (mehr …)

Netdata auf einem Debian Server installieren

Sicherheitshinweis:
Bitte beachten Sie, dass (derzeit) der Netdata Port (19999) nicht per Passwort o.ä. geschützt ist.
Jeder (!) kann daher auf Ihrem Server die Netdata Seite aufrufen und (wie Sie) nutzen !

Voraussetzungen installieren:

apt-get install git zlib1g-dev uuid-dev libmnl-dev pkg-config curl gcc autogen autoconf autoconf-archive make automake netcat python python-yaml nodejs lm-sensors python-psycopg2 python-mysqldb

Aktuelle Netdata Sourcen von Github kopieren: (mehr …)

Sicherheit: Login bei mariaDB (mySQL) als "root" mit Passwort

Seit Debian 9 im Standard die mariaDB und nicht mehr mySQL installiert, hat sich auch der Login als "root" per Passwort geändert.

Auch wenn ein root Passwort gesetzt wurde, kann man sich z.Bsp. per phpMyAdmin nicht anmelden.

Lösung: (mehr …)

Symfony: "An exception occured in driver: could not find driver"

Nach der Eingabe des folgenden Befehles

php bin/console doctrine:database:create --connection=system

erhalten Sie diese Ausgabe:

[Doctrine\DBAL\Exception\DriverException]              
An exception occured in driver: could not find driver  
                                                         
[Doctrine\DBAL\Driver\PDOException]  
could not find driver                
                                       
[PDOException]         
could not find driver  
                         
doctrine:database:create [--shard SHARD] [--connection [CONNECTION]] [--if-not-exists] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>

Die Lösung: (mehr …)

mySQL: Using a password on the command line interface can be insecure

Über die "Sicherheit", ein Passwort im Klartext gleich neben den SQL Befehl zu schreiben, müssen wir Sie nicht aufklären. Das wird Ihnen selbstverständlich bewußt sein und Sie suchen wahrscheinlich nur eine Lösung um solche Befehle weiterhin nutzen zu können. (mehr …)

Virtualmin: Datenbank Prefix für SubServer anpassen (Domainname als Prefix)

Wenn Sie in VirtualMin einen SubServer (Unter-Server) zu einem bestehenden Server einrichten, dann wird dabei (sofern ausgewählt) auch eine mySQL Datenbank automatisch angelegt.

Dabei wird in den Standardeinstellungen nur der Prefix des neuen SubServers als Datenbankname ausgewählt:

Beispiel:
Ihre bestehende Domain (= aktueller virtueller Server):

mydomain.com

Prefix des erstellten SubServers ist "test" … dann heißt Ihre neue mySQL Datenbank:

test

Das kann nicht nur zu ärgerlichen und nervigen Problemen führen (wenn z.Bsp. ein anderer Benutzer die gleiche Idee für seine Domain hat), sondern wird mit der Zeit auch sehr unübersichtlich. Besser ist es daher, die Domain des virtuellen Servers als Prefix für den Datenbanknamen zu verwenden.

  1. Gehen Sie dafür in die "Server Templates" in Virtualmin
  2. Wählen Sie die "Settings for Sub-Servers" aus
  3. Dort wählen Sie aus der DropDownbox den Eintrag "mySQL Database"
  4. Aktivieren Sie bei "Default database name" den Eintrag "Template"
  5. Geben Sie in das angezeigte Feld folgenden Text ein:
    ${USER}_${PREFIX}
  6. Klicken Sie auf "Save"

Wenn Sie jetzt einen neuen SubServer erstellen (sh. Beispiel oben), dann wird Ihnen folgende mySQL Datenbank angelegt:

mydomain_test

mySQL: Laufende Prozesse auflisten

Um bei einem laufenden mySQL Server alle laufenden (aktiven und wartenden) Prozesse und Befehle auflisten zu können, nutzen Sie folgenden Befehl auf der Kommandozeile:

mysqladmin -u[Benutzer] -p[Passwort] processlist

Alle Prozesse ds Servers erhalten Sie als "root". Im folgenden Beispiel ersetzen Sie das Passwort "12345" bitte durch Ihr "root" Passwort:

mysqladmin -uroot -p12345 processlist

Dieser Befehl kann Ihnen dabei helfen, kritische, langsame oder abgestürzte Befehle zu erkennen. Meist ist im ersten Blick nur der komplette mySQL Prozess auffällig langsam oder braucht besonders viel CPU Zeit; durch den o.a. Befehl können Sie hingegen den einzelnen Verursacher innerhalb des mySQL Servers herausfinden. Das kann die Suche nach der Ursache erheblich vereinfachen und beschleunigen.