Exécuter des commandes MySQL à partir de scripts Shell pour une restauration automatisée des données
L'exécution de commandes SQL à partir de scripts Shell permet l'automatisation et l'intégration transparente des opérations de base de données. Dans ce contexte, vous cherchez à restaurer les données d'un fichier SQL à l'aide d'un script shell.
La commande que vous avez mentionnée utilise la syntaxe suivante :
mysql -h "server-name" -u root "password" "database-name" < "filename.sql"
Cependant, pour exécuter cette commande avec succès depuis un script shell, vous devez modifier légèrement le format. Le point critique est d'omettre l'espace entre l'indicateur -p et le mot de passe.
mysql -h "server-name" -u root "-pXXXXXXXX" "database-name" < "filename.sql"
En éliminant l'espace, le mot de passe est transmis directement sans demander de saisie interactive. Pour une sécurité renforcée, vous pouvez stocker les informations d'identification de l'utilisateur et du mot de passe dans ~/.my.cnf pour éviter de les exposer sur la ligne de commande.
[client] user = root password = XXXXXXXX
Avec les informations d'identification stockées dans ~/.my.cnf, vous peut simplifier la commande comme suit :
mysql -h "server-name" "database-name" < "filename.sql"
Pour résoudre tout problème avec votre script shell, pensez à utiliser l'indicateur -x pendant exécution :
bash -x myscript.sh
Cela retracera l'exécution du script et aidera à identifier les erreurs potentielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!