Das Problem ist gelöst, hat mir aber einiges an Kopfzerbrechen bereitet:
Ich benutze eine Klasse DatabaseConnector, die die Verbindung zur Datenbank aufbaut. Neben dbhost und dbport muss ich noch den Benutzernamen und Passwort zum Zugriff auf die Datenbank angeben.
Der Benutzer benutzer1 ist bei phpMyAdmin angelegt, aber als Localhost. Das funktioniert dann bei einem Telnet-Zugriff auf die Synology wunderbar, weil der Benutzername durch @localhost ergänzt wird. Beim Zugriff von meinem Mac aus aber wird natürlich der Benutzername durch @my_Mac ergänzt und erhält keinen Zugriff.
Also habe ich bei phpMyAdmin einen neuen Benutzer benutzer2 angelegt, der von jedem Host aus ('%') Zugriff hat.
Dieser Benutzer ist sonst mit allen Rechten identisch zu dem zuerst angelegten, hat also Grant-Zugriff auf die Datenbank.
Hier funktioniert bereits die telnet-Anmeldung nicht: Dem benutzer2 wird bei telnet wieder @localhost angehängt, aber der Zugriff verweigert.
Das fand ich jetzt sehr verwirrend.
Spaßeshalber habe ich dann mal den Zugriff über mein Java-Programm probiert und siehe da: Es hat funktioniert!
Was muss ich mir merken? Der Benutzer benutzerl1@% erhält zwar von extern Zugriff, aber der Zugriff über localhost wird verweigert. Das verstehe ich zwar nicht, aber nun funktioniert der Java-Zugriff zumindest.