I won't invent anything new here but I'll share a quick improvement on an answer I've found on Stack Overflow.
If you are doing batch actions and don't want to write in .mylogin.cnf
file, there's the trick: use a process substitution!
$ mysqldump --defaults-extra-file=<(printf "[client]\nhost = host.rds.amazonaws.com\nuser = username\npassword = \$PassW0rd\$") \
database > dump.sql
This also works for any other file input, like Docker env file run param: