Чтобы избежать ввода пароля вручную нужно использовать флаг -p и сразу же без пробела указать пароль.

$ mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"

Если после флага -p будет стоять пробел, то клиент MySQL будет интерактивно запрашивает пароль, а затем он интерпретирует следующий аргумент команды как имя базы данных:

$ mysql -h "server-name" -u "root" -p "XXXXXXXX" "database-name" < "filename.sql"
Enter password: <you type it in here>
ERROR 1049 (42000): Unknown database 'XXXXXXXX'

Можно хранить имя пользователя и пароль в файле ~/.my.cnf. В этом случае не нужно передавать имя и пароль в качестве параметров в командную строку:

[client]
user = root
password = XXXXXXXX

Затем:

$ mysql -h "server-name" "database-name" < "filename.sql"