Tentei recriar um usuário de banco de dados e uma instância de banco de dados (executar sobre os existentes), então executei os dois comandos a seguir na CLI do Mysql:
create user '${test}'@'localhost' identified by '${psw}';
create database ${test};
Eu tenho esta saída:
ERRO 1396 (HY000) na linha 1: Falha na operação CREATE USER para 'test'@'localhost'
O motivo do erro, claro, é porque o usuário já existe).
Minha pergunta
Como posso ter certeza de que os comandos acima serão executados sobre os dados existentes se eu já tiver um usuário de banco de dados e uma instância de banco de dados com o mesmo valor ( test
)?
Atualização após resposta
mysql -V
traz:
mysql Ver 14.14 Distrib 5.7.20, para Linux (x86_64) usando o wrapper EditLine
Basta usar
if not exists
em suas consultas. Por exemplo:create if not exists user '${test}'@'localhost' identified by '${psw}';
oucreate database if not exists ${test};
Sua versão do mysql pode ser diferente, consulte a versão correta. Mas mais informações podem ser encontradas em: