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:
mysql -u root -p mysql
Geben Sie dann das "root" Passwort Ihres mySQL Servers ein.
select user,host,plugin from mysql.user;
+-------------+-----------+-----------------------+ | user | host | plugin | +-------------+-----------+-----------------------+ | root | localhost | unix_socket | | test | localhost | mysql_native_password | | max | localhost | mysql_native_password | | john | localhost | mysql_native_password | | jessica | localhost | mysql_native_password | | peter | localhost | mysql_native_password | +-------------+-----------+-----------------------+ 6 rows in set (0.00 sec)
Durch Eingabe des folgenden Befehles wurden die Plugin-Einträge der benutzer entfernt:
update user set plugin = '' where plugin = 'mysql_native_password';
Sie können den Erfolg des Befehles durch die erneute Eingabe der Abfrage prüfen:
select user,host,plugin from mysql.user;
+-------------+-----------+-------------+ | user | host | plugin | +-------------+-----------+-------------+ | root | localhost | unix_socket | | test | localhost | | | max | localhost | | | john | localhost | | | jessica | localhost | | | peter | localhost | | +-------------+-----------+-------------+ 6 rows in set (0.00 sec)
Beenden Sie die mySQL Kontrolle:
quit
... und starten Sie den mySQL Server neu, damit die Änderungen wirksam werden:
/etc/init.d/mysql restart
Die Webseiten und Programme sollen jetzt wieder funktionieren.