Bonjour à tous.
Je bosse actuellement pas mal sur un système de clustering d'une BDD MySQL. Cela implique que je dois effectuer un changement au niveau du moteur de recherche de chaque table des BDD concernés.
J'ai trouver une requête MySQL qui me génére automatiquement les différentes requêtes que je dois exécuter pour pouvoir modifier le moteur de recherches (je n'ai qu'a copier la requête suivante et cela me génére toutes les requêtes à simplement copier/coller pour les exécuter) :
Néanmoins, cela demande d'exécuter une requête et d'en copier/coller le résultat manuellement en multi-requête, ce qui est embêtant ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=NDBCLUSTER;') FROM information_schema.TABLES WHERE 1=1 AND engine = 'InnoDB' OR engine = 'MyISAN' AND table_schema NOT IN ('information_schema', 'mysql', 'performance_schema');
J'aimerai savoir si il n'est pas possible de faire cela automatiquement avec un script PowerShell ?
Je viens vers vous car je suis extrémement mauvais pour l'instant en PowerShell ..
Voilà un script en Bash (Linux) qui lui, fais normalement cela :
Pour vous donnez peut-être une meilleur idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #!/bin/bash nombdd=$1 mysql -u user -pmotdepasse -e "use $nombdd; show tables" -N -B > file command="use $nombdd;" for line in $(cat file); do command=$command"ALTER TABLE $line ENGINE=NBCLUSTER;" done echo $command
Merci de votre aide,
Original.
Partager