Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
informatique:db:mysql [2015/04/29 16:23] – [Extraire les dumps DB par DB d'un dump complet] bn8 | informatique:db:mysql [2016/08/05 08:43] – [Extraire les dumps DB par DB d'un dump complet] bn8 | ||
---|---|---|---|
Ligne 105: | Ligne 105: | ||
===== Si ça se passe mal ===== | ===== Si ça se passe mal ===== | ||
- | *Si vous rencontrez une erreur du type : | + | ==== Could not find first log file name in binary log index file ==== |
+ | |||
+ | Si vous rencontrez une erreur du type : | ||
| | ||
| | ||
- | Voici la solution à appliquer | + | Voici la solution à appliquer : |
- | + | ||
- | *Sur le slave : | + | |
- | + | ||
- | stop slave; | + | |
- | + | ||
- | *Sur le master | + | |
- | flush logs; | + | * Sur le slave : <code sql>stop slave;</ |
- | | + | * Sur le master : |
+ | * Exécuter : <code sql>flush logs; | ||
+ | show master status;</ | ||
+ | * Noter le nom du log et la position | ||
+ | *Sur le slave : <code sql> | ||
+ | start slave;</ | ||
+ | ==== Resynchro complète d'une des machines sur l' | ||
- | | + | |
+ | * Exécuter les commandes SQL suivantes : <code sql> | ||
+ | FLUSH TABLES WITH READ LOCK; | ||
+ | SHOW MASTER STATUS;</ | ||
+ | * Copier | ||
+ | * Faire un dump des bases : <code bash> | ||
+ | * Exécuter la commande SQL suivante : <code sql> | ||
+ | * Sur l' | ||
+ | * Exécuter la commande SQL suivante : <code sql>STOP SLAVE;</ | ||
+ | * Importer le dump généré sur l' | ||
+ | * Exécuter les commandes SQL suivantes en adaptant les variables // | ||
+ | CHANGE MASTER TO MASTER_LOG_FILE=' | ||
+ | START SLAVE;</ | ||
+ | * Vérifier que la synchro est bien reparti à l'aide de la requête SQL : <code sql>show slave status\G;</ | ||
- | | ||
- | start slave; | ||
===== Optimiser MySQL ===== | ===== Optimiser MySQL ===== | ||
Ligne 130: | Ligne 143: | ||
Utiliser l' | Utiliser l' | ||
- | < | + | < |
# Get a list of all fragmented tables | # Get a list of all fragmented tables | ||
Ligne 139: | Ligne 152: | ||
database=" | database=" | ||
table=" | table=" | ||
- | [ $fragment != ' | + | [ $fragment != ' |
done</ | done</ | ||
Ligne 146: | Ligne 159: | ||
===== Recrée l' | ===== Recrée l' | ||
- | < | + | < |
===== Extraire les dumps DB par DB d'un dump complet ===== | ===== Extraire les dumps DB par DB d'un dump complet ===== | ||
Ligne 152: | Ligne 165: | ||
Le script ci-dessous automatise cela : | Le script ci-dessous automatise cela : | ||
- | < | + | < |
IN=" | IN=" | ||
Ligne 169: | Ligne 182: | ||
file=db_$( echo " | file=db_$( echo " | ||
echo -n " | echo -n " | ||
- | | + | sed -n 1, |
sed -n ${f},${e}p $IN >> $file | sed -n ${f},${e}p $IN >> $file | ||
echo " | echo " |