Aqui, a expansão de variáveis de documentos e a substituição de comandos são executadas, a menos que o delimitador final seja citado. No seu caso, as strings entre backticks como virtual_domains
são executadas como comandos pelo shell.
Para o resultado, você gostaria de ter que citar o delimitador final EOF
entre aspas simples ou duplas, como abaixo. Isso impedirá a expansão e substituição.
mysql -u <redacted> -p<redacted> servermail << "EOF"
CREATE TABLE 'virtual_domains' (
'id' INT NOT NULL AUTO_INCREMENT,
'name' VARCHAR(50) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Veja Aqui documentos - Unix shells , Bash reference - Aqui os documentos