MySQL extern einrichten (Adminzugriff – root bleibt gesperrt)

Mit einer statischen IP funktioniert dies absolut ideal, aber auch ohne statische IP ist es oft sinnvoll, als root auf MySQL zu verbinden. Leider wird der Root-Account inzwischen abgeschaltet, da er übles Angriffsopfer geworden ist. Also legen wir uns einen neuen Root-Account an.

Damit dies klappt, verbiegen wir uns erst den aktuellen root

Also ab auf die Datenbank mit
# mysql -u root -p

use mysql;
update user set Host='%' where User='root' and Host='localhost';
flush privileges;

Nun klappt natürlich der Root-Zugriff von Localhost nicht, aber von überall aus dem Internet, also fix per HeidiSQL drauf und in die Tabelle user.
Als Abfrage: select * from user where User=’root‘
Diesen Eintrag duplizieren (neuer externer Admin), Fehler abfangen und nach Insert bereinigen
Dann den Orig-Eintrag wieder von root auf Host=’localhost‘ setzen, damit extern vorbei ist.
flush privileges;
Und schon ist der neue Account mit gleichem PW fertig.