Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je déposer et créer de manière fiable une base de données et un utilisateur dans MySQL

Vous pouvez ajouter IF NOT EXISTS à votre schéma de base de données et à la création d'utilisateur :comme :

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;

et pour le drop :

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

Comme mentionné ci-dessous :l'utilisateur, s'il n'existe pas, ne fonctionne que sur mysql 5.7 et supérieur. N'utilisez pas la syntaxe de création d'utilisateur ci-dessous 5.7, mais remplacez l'instruction d'octroi par :

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