Are there mysql client environment variables for USER and DB on Linux?
Not that I know of, but you can make a file called my.cnf in a directory that you specify with the MYSQL_HOME environment variable. For example say you have ~/mysql_home/db/my.cnf:

[mysql]
user = username
password= ****
host = hostname
db = databasename


Then you can call the client like

MYSQL_HOME=~/mysql_home/db/ mysql


and it will use those options. Please keep in mind that your password will be readable by whomever can read that file and it isn't encrypted!