Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso descartar e criar de forma confiável um banco de dados e um usuário no MySQL


Você pode adicionar IF NOT EXISTS ao seu databasechema e criação de usuário:como:
CREATE DATABASE IF NOT EXISTS foobar;
CREATE USER IF NOT EXISTS 'foo'@'localhost' IDENTIFIED BY 'bar';
GRANT ALL PRIVILEGES ON foobar.* TO 'foo'@'localhost' WITH GRANT OPTION;
CREATE USER  IF NOT EXISTS 'foo'@'%' IDENTIFIED BY 'bar';
GRANT ALL PRIVILEGES ON foobar.* TO 'foo'@'%' WITH GRANT OPTION;

e para a queda:
DROP USER IF EXISTS 'foo'@'localhost';
DROP USER IF EXISTS  'foo'@'%';
DROP DATABASE IF EXISTS foobar;

Como mencionado abaixo:o usuário, se não existir, só funciona no mysql 5.7 e superior. Não use a sintaxe de criação de usuário abaixo de 5.7, mas altere a instrução de concessão para:
GRANT ALL PRIVILEGES ON foobar.* TO 'foo'@'localhost' identified by 'password' WITH GRANT OPTION;