Maison >base de données >tutoriel mysql >Comment exécuter correctement les commandes MySQL à partir de scripts Shell ?

Comment exécuter correctement les commandes MySQL à partir de scripts Shell ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 17:33:11956parcourir

How to Correctly Execute MySQL Commands from Shell Scripts?

Exécuter des commandes MySQL à partir de scripts Shell

L'automatisation de l'exécution des commandes SQL via des scripts Shell simplifie les tâches de gestion des données. Un cas d'utilisation courant consiste à restaurer des données à partir d'un fichier SQL, ce qui nécessite une connexion à un serveur distant.

Problème :

Tentative d'exécution d'une commande SQL via un script shell en utilisant la commande :

mysql -h "server-name" -u root "password" "database-name" < "filename.sql"

résulte en un erreur.

Résolution :

L'erreur provient probablement d'une manière incorrecte de spécifier le mot de passe. Pour résoudre ce problème, utilisez l'indicateur -p sans aucun espace entre celui-ci et le mot de passe :

mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"

Conseils supplémentaires :

  • Stockage du nom d'utilisateur et du mot de passe dans ~/.my.cnf élimine le besoin de les inclure dans la ligne de commande.
  • Utilisation de l'indicateur -x dans l'exécution du script shell La commande vous permet de surveiller la façon dont chaque commande est exécutée, facilitant ainsi le dépannage.

Exemple de script Shell révisé :

perl fb_apps_frm_fb.pl
perl fb_new_spider.pl ds_fbids.txt ds_fbids.sql
mysql -h dbservername -u username "-pXXXXXXXX" dbname < ds_fbids.sql

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn