Mein Prinzip wäre jetzt gewesen, einfach mit den FireDAC-Kompos 'ne Verbindung zu dem
MySQL Server herzustellen.
Daß man von Clients über Internet direkt auf den Datenbankserver zugreift ist in der Praxis sehr selten zu finden. Zum einen werden dazu Ports benötigt, die nicht in allen Firewalls offen sind. Auch ist es dann für böswillige Clients leicht möglich Dinge mit dem
MySQL Server zu machen, die 'unerwartet' bis 'apokalyptisch' sind.
Für Client/Server Kommunikation gibt es eine einfache Regel: traue niemals einem Client.
Den Client indiekt, über eine HTTP Anbindung, mit dem Datenbankserver, sprechen zu lassen ist ein erster Schritt zur Absicherung, denn der Server wird jede HTTP Anfrage prüfen und erst wenn alles ok ist eine Datenbankanfrage an den
MySQL Server erzeugen.
Der Aufwand ist natürlich anfangs größer, aber der mögliche spätere Nutzen steigt auch. Zum Beispiel könnte der Webserver Lastverteilung auf diverse HTTP Server und Datenbanken möglich machen. Auch gesicherte Verbindungen sind über TLS (HTTPS) problemlos möglich. Auch die Benutzerkonten des
MySQL Servers werden nicht extern verwendet, Der HTTP Server kann seine ganz eigene anwendungsbezogene Benutzerverwaltung haben, und vieles mehr.