Nein, das ist nicht zwingend notwendig (So Du das Datenbankschema meinst). Die Software kann die Befehle zum erstellen des Schemas ja auch an die Datenbank geben.
Und was meinst du mit "Datenbank only"? Du brauchst da auch eine Software. Dabei ist es egal, ob Du da dann "nur" einen REST Service bereit stellst oder gleich die ganze Anwendung.
Das ist nicht zwingend notwendig. Du hast das Problem, dass Du das Passwort ja auch entschlüsseln musst. Wenn Du also die Kontrolle über den Server verlierst, dann ist das Passwort so oder so kompromittiert. Dabei ist egal, ob das Passwort einfach im Klartext im Config-File lag oder ob Du es irgendwie verschlüsselt hast. Mit dem Zugriff auf den Server ist auch das verschlüsselte auslesbar.
Wichtig ist halt, dass der Server sicher ist.
Mysql war lange zeit eine sehr schlechte Datenbank die viele Features erst sehr spät bekommen hat. Daher ist MySQL ist den Augen vieler (auch in meinen Augen) alles andere als optimal. Aber sie ist halt sehr stark vertreten m Internet. Aber eine bessere Alternative wäre aus meiner Sicht z.B. PostgreSQL. Und Oracle ist auch ein Hersteller, der eher schräg angesehen wird. So gibt es Leute (wie mich), die auch Oracle Java verzichten und statt dessen OpenJDK anderer Hersteller (Ich greife auf das von Eclipse zurück) nutzt. Aber das ist eine persönliche Sichtweise und man muss kein Oracle Bashing starten (Ok, ich muss ... das gilt bei mir aber bereits als psychische Erkrankung und das sind damit Ticks, für die ich nichts kann. Oracle, Eclipse IDE, .... da kommen immer Ticks in Form von Bashing
SCNR )
Das ist aber nicht entscheidend. Fang mit den Entities an, lass die Datenbank von Spring Boot erzeugen. Dann kannst Du es auch super testen. Dabei ist egal, was Du für eine Datenbank verwendest. Das kann auch mysql sein mit z.B. einer Einstellung, dass das Datenbankschema bei Tests automatisch gelöscht und neu erstellt wird. Aber da ist es aus meiner Sicht eher üblich, eine Datenbank zu nutzen, die nicht installiert werden muss. Also sowas wie H2. Dann laufen die Tests auch auf dem Buildserver ohne Probleme und ohne Abhängigkeiten zu einer Datenbank.
Und bei Spring Boot JPA kannst Du die Datenbank sehr einfach wechseln. Du willst statt MySQL PostgreSQL? Einfach in dem Config File anpassen.
Aber mein Tip ist wirklich: Arbeite Dich da langsam ein. Folge mal ein paar Tutorials oder so. Dann siehst Du auch schnell dieses "Code First", d.h. Du musst mit der Datenbank nicht anfangen!