Des fois, on veut restaurer un base de données, et une seule uniquement. Seulement voilà, on a un dump complet de toutes les bases… Deux solutions sont possibles : supprimer les lignes en rapport avec les autres bases (have fun) ou alors ça :
- Créer un utilisateur ayant seulement les droits de lectures sur les bases :
mysql> GRANT SELECT ON *.* TO 'restorative_user'@'localhost' identified by 'password';
- Lui donner les droits complets UNIQUEMENT sur la base souhaitée :
mysql> GRANT ALL ON database2.* TO 'restorative_user'@'localhost';
- Lancer l’import avec l’option –force pour ignorer les erreurs d’accès refusé avec l’utilisateur donnée:
shell> mysql -u restorative_user -ppassword --force < /path/fulldump.db
Et si lors du dump, il y a des dropdatabase avant de les recréer ?
Bah… Si c’est la base sur laquelle le user spécial a les droits, ça fonctionnera, sinon, non…