web-dev-qa-db-fra.com

Comment supprimer une base de données MySQL?

Vous remarquerez peut-être dans ma dernière question qu’un problème posait d’autres problèmes, lire des manuels MySQL dans le moniteur MySQL?

Ma base de données est maintenant inutilisable en partie à cause de mon intérêt à casser des choses et de mon incapacité à consulter les messages d'erreur. Je sais que je ne devrais pas réutiliser les clés primaires, mais je souhaiterais les utiliser à nouveau après la suppression de la base de données détériorée. Alors

Comment puis-je supprimer correctement une base de données MySQL?

Depuis l'invite MySQL:

mysql> drop database <db_name>;
290
rnicholson

Si votre base de données ne peut pas être supprimée, même si vous n'avez aucune faute de frappe dans l'instruction et que vous ne manquez pas le ; à la fin, insérez le nom de la base de données entre les croûtes:

mysql> drop database `my-database`;

Les backticks sont pour les bases de données ou les colonnes, les apostrophes sont pour les données qu'ils contiennent.

Pour plus d'informations, voir cette réponse à la question Stack Overflow ) Quand utiliser des guillemets simples, des guillemets doubles et des backticks? .

30
sjas

Si vous utilisez un script SQL lors de la création de votre base de données et que des utilisateurs ont été créés à l'aide de votre script, vous devez également les supprimer. Enfin, vous devez vider les utilisateurs; c'est-à-dire forcer MySQL à lire à nouveau les privilèges de l'utilisateur.

-- DELETE ALL RECIPE

drop schema <database_name>;
-- Same as `drop database <database_name>`

drop user <a_user_name>;
-- You may need to add a hostname e.g `drop user bob@localhost`

FLUSH PRIVILEGES;

Bonne chance!

15
Ben
drop database <db_name>;
FLUSH PRIVILEGES;
2
anonymous

J'avais besoin de corriger les privilèges .REVOKE ALL PRIVILEGES ONlogs.* FROM 'root'@'root'; GRANT ALL PRIVILEGES ONlogs.* TO 'root'@'root'WITH GRANT OPTION;

0
DoesEatOats