Como aponta o @jordanm, dentro do aqui os documentos são literais, não sintáticos. Então você quer
mysql -u root -p"$dbrootp_1" <<-EOF
DROP USER IF EXISTS ${domain}@localhost;
DROP DATABASE IF EXISTS ${domain};
CREATE USER ${domain}@localhost IDENTIFIED BY ${dbuserp_1};
CREATE DATABASE ${domain};
GRANT ALL PRIVILEGES ON ${domain}.* TO ${domain}@localhost;
EOF
Se você tiver caracteres especiais em $domain
ou $dbuserp_1
, precisará citá-los em backticks :
mysql -u root -p"$dbrootp_1" <<-EOF
DROP USER IF EXISTS \'${domain}\'@localhost;
DROP DATABASE IF EXISTS \'${domain}\';
CREATE USER \'${domain}\'@localhost IDENTIFIED BY \'${dbuserp_1}\';
CREATE DATABASE '${domain}';
GRANT ALL PRIVILEGES ON \'${domain}\'.* TO \'${domain}\'@localhost;
EOF