Le EOF doit être en début de ligne, il ne faut pas l'indenter.
Enfin si tu n'as qu'une commande, tu peux aussi faire
mysql -u root --password="xxxxxx" -e "insert into test values('xxxxxx','xxxxxx');" bd_test
A noter en SQL on utilise les ' pas les " pour les chaines. Ok, MySQL est très permissif, mais ce n'est pas une raison pour ne pas écrire proprement.
Et mettre le mot de passe en dur dans le script, c'est pas terrible, tu devrais plutôt le mettre dans le /root/.my.cnf avec des droits de lecture très limités.
++