Question
Interaction avec une BDD MySQL
- Original
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 5 jours #19278
par Original
Interaction avec une BDD MySQL a été créé par Original
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) :
[code:1]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');[/code:1]
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 ..
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 :
[code:1]#!/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[/code:1]
Pour vous donnez peut-être une meilleur idée.
Merci de votre aide,
Original.
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) :
[code:1]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');[/code:1]
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 ..
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 :
[code:1]#!/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[/code:1]
Pour vous donnez peut-être une meilleur idée.
Merci de votre aide,
Original.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 5 jours #19279
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Interaction avec une BDD MySQL
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Original
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 4 jours #19281
par Original
Réponse de Original sur le sujet Re:Interaction avec une BDD MySQL
Salut Laurent,
merci pour ta réponse.
J'ai regarder et je vais encore essayer de regarder les deux liens que tu m'as donner, merci.
Néanmoins d'un premier abord (il est tôt et j'ai pas encoire pris mon café) je n'ai pas trop compris les exemples et encore moins comment m'y prendre.
Mais je vais tenter de regarder encore un peu ..
Original.
merci pour ta réponse.
J'ai regarder et je vais encore essayer de regarder les deux liens que tu m'as donner, merci.
Néanmoins d'un premier abord (il est tôt et j'ai pas encoire pris mon café) je n'ai pas trop compris les exemples et encore moins comment m'y prendre.
Mais je vais tenter de regarder encore un peu ..
Original.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 4 jours #19282
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Interaction avec une BDD MySQL
Le second lien était à titre d'exemple.
Utilise la substitution dans une here-string :
[code:1]
$table_schema='Compta'
$table_name='Client'
@\"
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');
\"@
[/code:1]
Utilise la substitution dans une here-string :
[code:1]
$table_schema='Compta'
$table_name='Client'
@\"
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');
\"@
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Original
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 4 jours #19283
par Original
Réponse de Original sur le sujet Re:Interaction avec une BDD MySQL
Salut,
désolé d'avance de mon ignorance (Powershell est un point important que je dois me décider à travailler), mais pourquoi déclares-tu deux variables, Compta et Client au début ?
Sachant que le but de table_schema et table_name dans ma requête et de récupérer automatiquement le nom de table à chaque fois.
Merci de m'éclairer !
Original.
désolé d'avance de mon ignorance (Powershell est un point important que je dois me décider à travailler), mais pourquoi déclares-tu deux variables, Compta et Client au début ?
Sachant que le but de table_schema et table_name dans ma requête et de récupérer automatiquement le nom de table à chaque fois.
Merci de m'éclairer !
Original.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 4 jours #19284
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Interaction avec une BDD MySQL
Original écrit:
Si table_schema et table_name sont des variables dont le contenu provient d'une autre requête, il faut effectivement le prendre en considération.
Ici je t'ai juste donné le principe.
Pour ce type de demande, il nous faut savoir ce que tu as avant et ce que tu souhaite avoir après, avec un ou + exemples.
Pour l'exemple donné.pourquoi déclares-tu deux variables, Compta et Client au début ?
Si table_schema et table_name sont des variables dont le contenu provient d'une autre requête, il faut effectivement le prendre en considération.
Ici je t'ai juste donné le principe.
Pour ce type de demande, il nous faut savoir ce que tu as avant et ce que tu souhaite avoir après, avec un ou + exemples.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.048 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Interaction avec une BDD MySQL