Sulla porta 3306 ascoltano MySQL e MariaDB. Su Debian/Ubuntu di default c'è bind-address = 127.0.0.1; le web app come Nextcloud sullo stesso host spesso usano comunque il socket Unix.
Non aprirla su Internet. I database esposti vengono scansionati di continuo alla ricerca di password deboli. Per l'amministrazione remota usa un tunnel SSH: ssh -L 3306:127.0.0.1:3306 admin@db.esempio.it. Con app e DB su server separati, consenti solo l'IP dell'app.
Errori tipici: Host '…' is not allowed to connect – l'utente esiste solo come 'app'@'localhost' – e Can't connect … (111) perché il servizio ascolta solo su 127.0.0.1.
Verifica
mysql -h db.esempio.it -P 3306 -u app -p -e "SELECT VERSION();"