2012-05-25 4 views
0

Je construis un script de sauvegarde à utiliser sur certains serveurs. Le problème est que j'ai une base de données qui contient des espaces, " aa_something_something". C'est probablement une erreur dans la configuration, mais je n'ai pas assez d'informations pour prendre une décision qualifiée de l'enlever pour le moment, donc je vais juste l'inclure dans la sauvegarde.Base de données mysqldump avec des espaces dans le nom de la base de données

Ceci est mon appel en cours mysqldump:

mysqldump -B $db -u$DB_USER -p$DB_PASS --skip-lock-tables 2>> $ERROR_LOG_FILE 

Comme l'espace est au début, mysqldump pense que je veux sauvegarder "aa_something_something" au lieu de " aa_something_something". Est-il possible d'échapper aux espaces à l'intérieur des variables? J'ai essayé ' et ", mais cela n'a pas fonctionné.

Répondre

1

Il suffit de le citer:

mysqldump -B "$db" ... 

Mais la seule chose saine à long terme à faire est de supprimer cet espace et fixer les lieux qui ont utilisé ce nom bizarre.

Veuillez également vous assurer que vous pouvez restaurer à partir de cette sauvegarde avant de faire quelque chose de radical. Cet espace pourrait gâcher un certain nombre de choses.

+0

Merci! Je pensais que j'avais essayé, mais peut-être que je l'ai juste halluciné. Quoi qu'il en soit, maintenant je dois juste le renommer en un nom de fichier valide avec le moins de conflits possible. – nyson

Questions connexes