Bonjour,
Je fais un script qui permet de remonter une base MySQL, présente sur un autre serveur, à partir d'un fichier .sql présent dans le même répertoire que mon script.
J'ai une commande dans un script batch qui me permet de restaurer une base de données MySQL à partir d'un fichier texte:
	
	C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
 Je souhaite intégrer cette commande à un script PowerShell. J'ai donc tout naturellement ajouté à mon script PowerShell la commande suivante:
	
	cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
 Cependant lors de l'exécution du script, un message d'erreur est apparu comme quoi le flux de redirection en input n'était pas pris en charge:
	
	1 2 3 4 5
   | L'opérateur «*<*» est réservé pour une utilisation ultérieure.
Au niveau de C:\Users\mmonge\Documents\Script_de_Sauvegarde\CopieBDD2G\CopyBDD2G.ps1*: 53 Caractère*: 81
+ cmd.exe /c  $mysqlpathmysql "-h" $mysqlhost "-u" $mysqluser "-p"$mysqlpassword < <<<<  $mysqlpathtomysqldumpfile;
    + CategoryInfo          : ParserError: (<:OperatorToken) [], ParseException
    + FullyQualifiedErrorId : RedirectionNotSupported | 
 J'ai essayé d'inverser les flux de la manière suivante:
	
	cmd.exe /c C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer
 Ensuite, j'ai essayé de mettre des "quotes" sur le flux de redirection mais sans succès, aucun message d'erreur mais commande ne donnant aucun résultat:
	
	cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer "<" C:\...\SauvegardeBDD\fichier_dump_base_données.sql
 Enfin, je suis aller chercher de la documentation et j'ai essayé d'utiliser la fonction Get-Content mais sans succès de deux manières différentes.
Premier essai:
	
	cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer | Get-Content C:\...\SauvegardeBDD\fichier_dump_base_données.sql
 Deuxième essai:
	
	cmd.exe /c Get-Content | C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer
 Etant bloqué suite à ce problème, je ne peux pas remonter ma base de données à partir du fichier de dump.
Je vous remercie d'avance pour toute information me permettant d'avancer.
						
					
Partager