Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso eliminare e creare in modo affidabile un database e un utente in MySQL

Puoi aggiungere IF NOT EXISTS al tuo databasechema e alla creazione dell'utente:come:

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 per la goccia:

DROP USER IF EXISTS 'foo'@'localhost';
DROP USER IF EXISTS  'foo'@'%';
DROP DATABASE IF EXISTS foobar;

Come menzionato di seguito:l'utente se non esiste funziona solo su MySQL 5.7 e versioni successive. Non utilizzare la sintassi di creazione utente inferiore a 5.7, ma modificare la dichiarazione di concessione in:

GRANT ALL PRIVILEGES ON foobar.* TO 'foo'@'localhost' identified by 'password' WITH GRANT OPTION;