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 | ||
|
cynod:config_avancee:restaurationdonnees [2024/04/28 12:15] yannick.bribaud |
cynod:config_avancee:restaurationdonnees [2024/08/13 11:52] (Version actuelle) sokhnamariama.sene |
||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| - | * Prérequis | + | * **Prérequis** |
| - | - Disposer de la sauvegarde et de la base de données anonymisées de la production du client en question en **<color #ed1c24>local</color>** (Par local nous voulons dire avoir les fichiers SQL des 2 bases de données et être en mesure de les restaurer sur votre serveur local de base de données). | + | - Disposer en <color #ed1c24>**local**</color> de la sauvegarde et de la base de données anonymisées de la production du client en question (Par local nous voulons dire avoir les fichiers SQL des 2 bases de données et être en mesure de les restaurer sur votre serveur local de base de données). |
| - Se servir d'un outil d'administration de base données déjà installé. Exemple: Workbench ou dbeaver. | - Se servir d'un outil d'administration de base données déjà installé. Exemple: Workbench ou dbeaver. | ||
| - | - Etapes : | + | ==== Les étapes ==== |
| * Créer deux (2) bases de données l'une contiendra les données de la sauvegarde et l'autre les données anonymisées de la production. <WRAP left round box 70%> Requêtes à exécuter pour créer les différentes bases de données: | * Créer deux (2) bases de données l'une contiendra les données de la sauvegarde et l'autre les données anonymisées de la production. <WRAP left round box 70%> Requêtes à exécuter pour créer les différentes bases de données: | ||
| * **CREATE DATABASE** cynod_nom_client_periode_sauvegarde; | * **CREATE DATABASE** cynod_nom_client_periode_sauvegarde; | ||
| Ligne 17: | Ligne 17: | ||
| === Procédure de restauration de données de la sauvegarde. === | === Procédure de restauration de données de la sauvegarde. === | ||
| * **USE** <color #ed1c24>cynod_nom_client_periode_sauvegarde</color>; | * **USE** <color #ed1c24>cynod_nom_client_periode_sauvegarde</color>; | ||
| - | Modifier la taille du paquet de communication entre client et serveur mysql afin d'empêcher MYSQL de générer des erreurs lors de la restauration des données. convertir la taille des données en Megaoctets puis : | + | Modifier la taille du paquet de communication entre le client et le serveur afin d'empêcher MYSQL de générer des erreurs lors de la restauration des données. convertir la taille des données en Megaoctets puis : |
| ''max_taille_paquet = taille_données_à_restaurer_en_Mo × 1024 × 1024 + 500 × 1024 ×1024'' 500Mo pour avoir une marge de sécurité dans le transfert de grosses quantités de données. | ''max_taille_paquet = taille_données_à_restaurer_en_Mo × 1024 × 1024 + 500 × 1024 ×1024'' 500Mo pour avoir une marge de sécurité dans le transfert de grosses quantités de données. | ||
| Ligne 27: | Ligne 27: | ||
| === Procédure de restauration de données de la production. === | === Procédure de restauration de données de la production. === | ||
| * **USE** <color #ed1c24>cynod_nom_client_prod</color>; | * **USE** <color #ed1c24>cynod_nom_client_prod</color>; | ||
| - | Modifier la taille du paquet de communication entre client et serveur mysql afin d'empêcher MYSQL de générer des erreurs lors de la restauration des données. convertir la taille des données en Megaoctets puis : | + | Modifier la taille du paquet de communication entre le client et le serveur afin d'empêcher MYSQL de générer des erreurs lors de la restauration des données. convertir la taille des données en Megaoctets puis : |
| ''max_taille_paquet = taille_données_à_restaurer_en_Mo × 1024 × 1024 + 500 × 1024 ×1024'' 500Mo pour avoir une marge de sécurité dans le transfert de grosses quantités de données. | ''max_taille_paquet = taille_données_à_restaurer_en_Mo × 1024 × 1024 + 500 × 1024 ×1024'' 500Mo pour avoir une marge de sécurité dans le transfert de grosses quantités de données. | ||
| Ligne 34: | Ligne 34: | ||
| </WRAP> | </WRAP> | ||
| - | * Effectuer une requête croisée entre la base de données de sauvegarde et la base de données de production <WRAP left round box 60%> | + | * Effectuer une requête croisée entre la base de données de **sauvegarde** et la base de données de **production** <WRAP left round box 60%> |
| - | **SELECT** * **FROM** cynod_nom_client_periode_sauvegarde.nom_table nt **WHERE** nt.champ not in ( **SELECT** champ **FROM** cynod_nom_client_prod.nom_table); | + | **SELECT** * **FROM** cynod_nom_client_periode_sauvegarde.nom_table nt **WHERE** nt.champ **not in** ( **SELECT** champ **FROM** cynod_nom_client_prod.nom_table); |
| </WRAP> | </WRAP> | ||
| - | * Créer une table temporair pour stocker le résultat de la requête si le résultat il y a. <WRAP left round box 70%> | + | * Créer une table temporaire pour stocker le résultat de la requête **si résultat il y a**. <WRAP left round box 70%> |
| - | utiliser l'outil d'administration de base de données de préférence pour exécuter cette requête: | + | |
| **CREATE TABLE** temp_nom_table_periode **like** nom_table; | **CREATE TABLE** temp_nom_table_periode **like** nom_table; | ||
| </WRAP> | </WRAP> | ||
| - | * Insérer les données manquantes dans la table temporaire <WRAP left round box 75%> | + | * Insérer les données manquantes dans la **table temporaire** <WRAP left round box 75%> |
| - | **INSERT into** temp_nom_table_periode **SELECT** * **FROM** cynod_nom_client_periode_sauvegarde.nom_table nt **WHERE** nt.champ not in ( **SELECT** champ **FROM** cynod_nom_client_prod.nom_table); | + | **INSERT INTO** temp_nom_table_periode **SELECT** * **FROM** cynod_nom_client_periode_sauvegarde.nom_table nt **WHERE** nt.champ not in ( **SELECT** champ **FROM** cynod_nom_client_prod.nom_table); |
| </WRAP> | </WRAP> | ||
| + | |||
| + | * Faire un **dump** de la table temporaire <WRAP left round box 85%> | ||
| + | **mysqldump -u** nom_user_db **-p** nom_base_données nom_table_temporaire_a_dumper **>** chemin_dossier_stockage_du_dump/nom_du_dump.sql | ||
| + | </WRAP> | ||
| + | |||
| + | * Fournir le **dump** de la table à l'équipe **INFRA** accompagné de la **requête d'insertion** dans la table où l'on doit restaurer les données extraites de la sauvegarde.<WRAP left round box 100%> | ||
| + | * Requête de vérification des données au niveau de la base de données en production pour s'assurer que les données contenues dans la table temporaire n'y sont pas déjà. | ||
| + | ***SELECT * FROM** table_a_restaurer nt **WHERE** nt.champ in (**SELECT** champ **FROM** table_temporaire); | ||
| + | * Insertion dans la table sans prendre en compte la colonne ID des données. | ||
| + | ***INSERT INTO** nom_table (liste_colonnes_sans_la_colone_ID) **SELECT** liste_des_colonnes_sans_la_colone_ID **FROM** nom_table_temporaire; | ||
| + | </WRAP> | ||
| + | |||
| + | |||