Comment faire pour exécuter de commande de mysql sur le coup?
Le code suivant fonctionne sur la ligne de commande
mysql --user='myusername' --password='mypassword' --database='mydatabase' --execute='DROP DATABASE myusername;
CREATE DATABASE mydatabase;'
Toutefois, il ne fonctionne pas sur fichier bash sur excecution
#!/bin/bash
user=myusername
password=mypassword
database=mydatabase
mysql --user='$user' --password='$password' --database='$database' --execute='DROP DATABASE $user; CREATE DATABASE $database;'
Je reçois l'erreur suivante:
ERROR 1045 (28000): Access denied for user '$utilisateur'@'localhost' (using password: YES)
Comment faire de la fête de l'exécution du fichier comme la ligne de commande?
Vous devez vous connecter pour publier un commentaire.
D'utiliser des guillemets lors de l'utilisation des variables BASH.
BASH ne développe pas les variables entre guillemets simples.
Ce a travaillé, double guillemets lors de l' $user et $mot de passe sont à l'extérieur des guillemets simples. Apostrophes à l'intérieur d'un guillemet simple déclaration.
J'ai écrit un script shell qui va lire des données depuis un fichier de propriétés, puis exécuter mysql script shell script. le partage de ce qui peut aider à d'autres.