26
SIO - SI 7 : TP sur la sauvegarde - Page 1 sur 26 Sauvegarde et restauration d’une base de données MySql La gestion des évènements Utilisation d’un exécuteur de scripts Niveau Matière Type Titre Fichier Durée prévue STS SI 7 support papier individuel Sauvegarde et restauration d’une base de données MySql La gestion des évènements Utilisation d’un exécuteur de scripts Voir cahier de textes 4 Heures RENVOIS AU REFERENTIEL CONNAISSANCES ASSOCIEES D 2.1 – Exploitation d’un service - Stratégie de sauvegarde et de restauration d’une base de données - La gestion des évènements sous MySql Ce module permet de construire des savoirs et savoir-faire liés à l’intégration d’un service dans l’organisation et à son maintien en condition opérationnelle à partir de la mobilisation complémentaire des compétences spécifiques aux deux parcours. MOTS-CLES Sauvegarde, importation, dump, gestion des évènements Sommaire 1. SAUVEGARDE - BACK UP................................................................................................................................................ 2 1.1 LES COPIES DE SÛRETÉ SONT UTILES PRINCIPALEMENT À DEUX CHOSES ......................................................................... 2 1.2 CRITÈRES DE CHOIX ....................................................................................................................................................... 2 1.3 STRATÉGIES DE SAUVEGARDE CLASSIQUES .................................................................................................................... 3 1.4 SYNTHESE ..................................................................................................................................................................... 3 1.5 LA SAUVEGARDE LES NOUVEAUX ENJEUX ...................................................................................................................... 4 2. EXERCICE : LE CAS SOVAMI (BTS ARLE 2005) .................................................................................................................. 5 3. PRESENTATION ET MISE EN ŒUVRE SOUS MYSQL ......................................................................................................... 8 2.1 MISE EN ŒUVRE ................................................................................................................................................................ 8 2.2 LA SAUVEGARDE .............................................................................................................................................................. 13 2.3 LA RESTAURATION ........................................................................................................................................................... 14 4. LA GESTION DU PROGRAMMATEUR D’EVENEMENTS (EVENT SCHEDULER) ................................................................. 15 3.1 PREREQUIS ..................................................................................................................................................................... 15 3.2 COMMENT CREER UN EVENEMENT ? ..................................................................................................................................... 16 5. UTILISATION D’UN EXECUTEUR DE SCRIPTS (CRON SCRIPT MANAGER) ....................................................................... 19 4.1 LE SCRIPT....................................................................................................................................................................... 19 4.2 MISE EN ŒUVRE DE CRON SCRIPT MANAGER .......................................................................................................................... 21 6. EXERCICE : LE CAS RUCHENORT (BTS SISR 2014 NC) ..................................................................................................... 25

New base de données MySql La gestion des évènements · 2018. 9. 5. · base de données MySql La gestion des évènements Utilisation d’un exécuteur de scripts Niveau Matière

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

  • SIO - SI 7 : TP sur la sauvegarde - Page 1 sur 26

    Sauvegarde et restauration d’une base de données MySql

    La gestion des évènements Utilisation d’un exécuteur de scripts

    Niveau Matière Type Titre Fichier Durée prévue

    STS SI 7 support papier individuel

    Sauvegarde et restauration d’une base de données MySql La gestion des évènements Utilisation d’un exécuteur de scripts

    Voir cahier de textes

    4 Heures

    RENVOIS AU REFERENTIEL CONNAISSANCES ASSOCIEES D 2.1 – Exploitation d’un service - Stratégie de sauvegarde et de

    restauration d’une base de données - La gestion des évènements sous MySql

    Ce module permet de construire des savoirs et savoir-faire liés à l’intégration d’un service dans l’organisation et à son maintien en condition opérationnelle à partir de la mobilisation complémentaire des compétences spécifiques aux deux parcours.

    MOTS-CLES Sauvegarde, importation, dump, gestion des évènements

    Sommaire 1. SAUVEGARDE - BACK UP ................................................................................................................................................ 2

    1.1 LES COPIES DE SÛRETÉ SONT UTILES PRINCIPALEMENT À DEUX CHOSES ......................................................................... 2 1.2 CRITÈRES DE CHOIX ....................................................................................................................................................... 2 1.3 STRATÉGIES DE SAUVEGARDE CLASSIQUES .................................................................................................................... 3 1.4 SYNTHESE ..................................................................................................................................................................... 3 1.5 LA SAUVEGARDE LES NOUVEAUX ENJEUX ...................................................................................................................... 4

    2. EXERCICE : LE CAS SOVAMI (BTS ARLE 2005) .................................................................................................................. 5

    3. PRESENTATION ET MISE EN ŒUVRE SOUS MYSQL ......................................................................................................... 8

    2.1 MISE EN ŒUVRE ................................................................................................................................................................ 8 2.2 LA SAUVEGARDE .............................................................................................................................................................. 13 2.3 LA RESTAURATION ........................................................................................................................................................... 14

    4. LA GESTION DU PROGRAMMATEUR D’EVENEMENTS (EVENT SCHEDULER) ................................................................. 15

    3.1 PREREQUIS ..................................................................................................................................................................... 15 3.2 COMMENT CREER UN EVENEMENT ? ..................................................................................................................................... 16

    5. UTILISATION D’UN EXECUTEUR DE SCRIPTS (CRON SCRIPT MANAGER) ....................................................................... 19

    4.1 LE SCRIPT....................................................................................................................................................................... 19 4.2 MISE EN ŒUVRE DE CRON SCRIPT MANAGER .......................................................................................................................... 21

    6. EXERCICE : LE CAS RUCHENORT (BTS SISR 2014 NC) ..................................................................................................... 25

  • SIO - SI 7 : TP sur la sauvegarde - Page 2 sur 26

    1. SAUVEGARDE - BACK UP

    En informatique, la sauvegarde (backup en anglais) est l'opération qui consiste à mettre en sécurité les données contenues dans un système informatique.

    1.1 LES COPIES DE SÛRETÉ SONT UTILES PRINCIPALEMENT À DEUX

    CHOSES - La première et la plus évidente est de permettre de restaurer un système informatique dans un état de fonctionnement suite à un incident (perte d'un support de stockage tel que disque dur, bande magnétique, etc., ou de tout ou partie des données qu'il contient). - La seconde, incluse dans la première mais certainement la plus courante, est de faciliter la restauration d'une partie d'un système informatique (un fichier, un groupe de fichiers, un système d'exploitation, une donnée dans un fichier, etc.) suite à une suppression accidentelle ou à une modification non désirée.

    1.2 CRITÈRES DE CHOIX Le choix d'une technique de sauvegarde se fera en prenant en compte : - la capacité de stockage du support (le volume d'information) ; - la vitesse de sauvegarde ; - la fiabilité du support (notamment après une longue période de stockage) ; - la simplicité de classement ; - la facilité à restaurer les données ; - et bien sûr le coût de l'ensemble. Intervient également la possibilité de sélectionner les données à sauvegarder. Enfin pour les grands systèmes de sauvegarde, il faut tenir compte de critères physiques : volume physique des supports de stockage, poids, sensibilité à la température, à l'humidité, à la poussière, à la lumière.

  • SIO - SI 7 : TP sur la sauvegarde - Page 3 sur 26

    1.3 STRATÉGIES DE SAUVEGARDE CLASSIQUES Normalement en 1ère année vous avez du voir les techniques les plus classiques : * Sauvegarde totale (= « full backup ») LA SAUVEGARDE INFORMATIQUE DE TOUS LES FICHIERS PRÉSENTS SUR LE DISQUE DUR. Autrement dit, une copie complète du disque dur.

    * Sauvegarde incrémentale (= « incremental backup ») SAUVEGARDE DES SEULS FICHIERS CRÉÉS OU MODIFIÉS DEPUIS LA DERNIÈRE SAUVEGARDE TOTALE OU INCRÉMENTALE. Par exemple, si la sauvegarde totale est faite tous les samedis, la sauvegarde de dimanche n'enregistre que les modifications créées dimanche. La sauvegarde de lundi n'enregistre que les modifications créées lundi. La sauvegarde de mardi n'enregistre que les modifications créées mardi, etc. C'est une approche issue de l'idée de faire une sauvegarde totale tous les jours. Le système pose la question : Quels fichiers ont changé depuis hier ? Avantages : Économies de temps et de matériel Désavantages : La restauration peut être longue * Sauvegarde différentielle (= « differential backup ») SAUVEGARDE DE TOUS LES FICHIERS CRÉÉS OU MODIFIÉS DEPUIS LA DERNIÈRE SAUVEGARDE TOTALE. Par exemple, si la sauvegarde totale est faite le samedi, la sauvegarde de dimanche n'enregistre que les modifications créées dimanche. La sauvegarde de lundi enregistre les modifications de dimanche et de lundi. La sauvegarde de mardi enregistre les modifications de dimanche, de lundi et de mardi, etc. C'est une approche issue de la difficulté de restaurer à partir d'une sauvegarde incrémentale. Le système pose la question : Quels fichiers ont changé depuis la dernière sauvegarde totale ? Avantages : Restauration plus facile que restauration d'une sauvegarde incrémentale Désavantages : Il faut un peu plus de ressources

    1.4 SYNTHESE

    On distingue trois types de sauvegardes :

    la sauvegarde totale (T) la sauvegarde différentielle (D) la sauvegarde incrémentale (I)

  • SIO - SI 7 : TP sur la sauvegarde - Page 4 sur 26

    1.5 LA SAUVEGARDE LES NOUVEAUX ENJEUX Les systèmes informatiques à sauvegarder ont profondément évolué tout comme leur utilisation :

    – L'arrivée massive des postes nomades sur lesquels les utilisateurs stockent des données importantes.

    – La volumétrie croissante, voire explosive, des données à sauvegarder; une des conséquences est la nécessité d'augmenter encore plus vite la capacité de stockage de la sauvegarde.

    – L'archivage les données sauvegardées le sont généralement avec une durée de rétention limitée. Mais certaines ont besoin d'être conservées beaucoup plus longtemps. En fait, elles ont besoin d'être archivées (cf les documents comptables par exemple).

    – L'autonomie des utilisateurs doit-on permettre aux utilisateurs de restaurer eux mêmes leur fichiers ? L'arrivée des portables implique une plus grande autonomie des utilisateurs. Il faut donc que les logiciels permettent de configurer facilement une restauration simple par les utilisateurs.

    – Les machines virtuelles; le type de données que l'on doit sauvegarder a aussi changé. En particulier, les serveurs ne sont plus uniquement physiques, ils peuvent aussi être virtuels.

    L'idéal est de trouver un système de sauvegarde qui réponde à toutes ces problématiques.

    A titre indicatif les solutions logicielles les plus connus sont :

    Tivoli Storage Manager (TSM) - IBM o http://www-306.ibm.com/software/tivoli/products/storage-mgr/

    Time Navigator - Atempo o http://fr.atempo.com/products/timeNavigator/default.asp

    Networker - EMC/Legato o http://france.emc.com/products/detail/software/networker.htm

    ARCserve Backup - Computer Associate o http://www.ca.com/us/data-loss-prevention.aspx

    Arkeia Network Backup - Arkeia o http://www.arkeia.com/products/arkeianetworkbackup/index.php

    Bacula - Bacula o http://bacula.org

    http://www-306.ibm.com/software/tivoli/products/storage-mgr/http://fr.atempo.com/products/timeNavigator/default.asphttp://france.emc.com/products/detail/software/networker.htmhttp://www.ca.com/us/data-loss-prevention.aspxhttp://www.arkeia.com/products/arkeianetworkbackup/index.phphttp://bacula.org/

  • SIO - SI 7 : TP sur la sauvegarde - Page 5 sur 26

    2. Exercice : Le cas Sovami (BTS ARLE 2005) La SOVAMI accorde bien entendu le plus grand soin aux données stockées sur ses serveurs. Aussi, plutôt que de continuer à utiliser tant bien que mal des lecteurs de bandes vieillissants intégrés à chacun de ses serveurs, il a été décidé d'investir dans un équipement de sauvegarde en réseau moderne et performant, ses fonctionnalités sont présentées en annexe 1. L'objectif est de : * Décharger l'administrateur réseau d'une partie du travail de manipulation des bandes et d'avoir un système de sauvegarde fiable et efficace pour une période de plusieurs jours consécutifs en particulier lorsque l'administrateur réseau n'est pas sur le site.

    *Faire des sauvegardes plus fréquentes pour mieux se prémunir contre les risques. Les données du serveur de fichiers sont particulièrement volumineuses car les utilisateurs conservent tout type de document : étude, norme, rapport, compte rendu, proposition technique ou commerciale, plan. Cela représente actuellement un volume d'environ 400 Go. Une analyse a démontré que le taux de mise à jour journalier des documents est de à 5 %, donc 20 G0 de nouvelles données tous les jours. Le responsable informatique hésite entre deux plans de sauvegarde basés sur : *Une sauvegarde complète chaque semaine, associée à une sauvegarde incrémentielle chaque nuit.

    * Une sauvegarde complète chaque semaine, associée à une sauvegarde différentielle chaque nuit.

    Travail demandé 1. Votre chef de service vous demande de lui présenter quelques éléments à prendre en compte

    afin de réaliser un plan de sauvegarde. 2. Votre chef de service hésite entre une sauvegarde incrémentale ou différentielle. La sauvegarde

    complète aura lieu le dimanche soir. Calculer le nombre de bandes nécessaires la première semaine et élaborer votre plan de reprise en cas de crash le mercredi soir. Vous compléterez pour cela les tableaux en annexe 2.

  • SIO - SI 7 : TP sur la sauvegarde - Page 6 sur 26

    ANNEXE 1 : CARACTÉRISTIQUES DE LA STATION DE SAUVEGARDE EN RÉSEAU Station de sauvegarde en réseau "StockStation 1700" Capacité : 1 To sur bandes Réseau : Port Ethernet 10/100/1000 baseT Encombrement requis dans le rack : 2U seulement Lecteur de bande : Un lecteur AIT2 en standard (deuxième lecteur en option) Dimensions (H x L x P) : 44 x 430 x 660 mm Temps moyen entre défaillances : 300 000 heures Bandothèque intégrée : 10 bandes de 100 Go chacune Le "StockStation 1700" permet d'utiliser un logiciel de sauvegarde au choix. L'administration en est possible via un poste d'administration connecté au réseau. Les différents types de sauvegarde supportés par le logiciel de sauvegarde utilisé sont les suivants :

    o Sauvegarde complète : copie tous les fichiers.

    o Sauvegarde différentielle : copie uniquement les fichiers créés ou modifiés depuis la dernière sauvegarde complète.

    o Sauvegarde incrémentielle : copie uniquement les fichiers créés ou modifiés depuis la dernière sauvegarde complète ou incrémentielle effectuée.

    ANNEXE 2 : TABLEAU A COMPLETER

    Attention une bande nouvelle est utilisée pour chaque nouvelle sauvegarde

    Une sauvegarde différentielle nécessitera :

    Lu Ma Me Je Ve Sa

    Nombre de cartouches utilisés par jour : Une sauvegarde incrémentielle nécessitera :

    Lu Ma Me Je Ve Sa

    Nombre de cartouches utilisés par jour :

  • SIO - SI 7 : TP sur la sauvegarde - Page 7 sur 26

    Corrigé indicatif

    Un plan de sauvegarde comprend les éléments suivants :

    Choix des périphériques de sauvegarde

    Choix d'une procédure de sauvegarde

    Exécution de sauvegardes selon la procédure choisie

    Vérification et validation des sauvegardes

    Documentation et archivage des sauvegardes

    Test régulier du plan de restauration

    Les principaux critères à prendre en compte :

    Techniques : performance et capacité du serveur de sauvegarde, possibilité d’une sauvegarde partielle ou

    totale des données, taux de croissance incrémentiel des données à sauvegarder, qualité des médias, durée

    de vie, granularité de la sauvegarde (par bloc, par fichier, …), possibilité de compression, conséquence de

    la sauvegarde sur les performances des serveurs, sauvegarde à chaud ou sauvegarde à froid, …

    Financiers : le coût du serveur de sauvegarde, le coût du média et la taille nécessaire pour la sauvegarde

    (ou le nombre de médias nécessaire), le coût de la perte d’informations (rapport entre coût du risque et

    coût de sécurité), …

    Organisationnels : le temps de sauvegarde et le temps de récupération (celui pour effectuer une

    restauration, totale ou partielle des données). Présence d’une planification des sauvegardes, d’une gestion

    des médias et d’un journal des sauvegardes, vérification des sauvegardes, test des procédures de

    restauration, …

    [Deux points par critère quel que soit le type de critère permet l’obtention des 8 points.]

    Compte tenu de l’estimation du taux de 5 % de mise à jour par jour, soit 20 Go :

    Une sauvegarde différentielle nécessitera :

    Lu Ma Me Je Ve Sa

    20 Go 40 Go 60 Go 80 Go 100 Go 120 Go

    Il faut donc prévoir deux cartouches pour le dernier jour (et très rapidement pour l’avant-dernier).

    Une sauvegarde incrémentielle nécessitera :

    Lu Ma Me Je Ve Sa

    20 Go 20 Go 20 Go 20 Go 20 Go 20 Go

    Une seule cartouche est nécessaire chaque jour.

  • SIO - SI 7 : TP sur la sauvegarde - Page 8 sur 26

    3. Présentation et mise en œuvre sous MySql Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant de récupérer l'ensemble des données que contient notre base de données, pour faire une sauvegarde (backup) ou bien tout simplement pour passer à une autre base de données. On appelle "exportation" le fait de formater dans un fichier (appelé dump) toutes les informations nécessaires à la création d'une base de données identique.

    A l'inverse, on appelle importation le fait de créer dans un SGBD une nouvelle base de données à partir d'un fichier d'exportation (dump). MySQL offre un certain nombre d'outils permettant d'exporter ses bases vers d'autres SGBD ou bien de les importer.

    2.1 Mise en œuvre Vous décidez de créer une base de données nommée LYCEE contenant des informations sur les élèves, stockées dans la table ELEVE CREATE DATABASE `lycee` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

    USE lycee;

    CREATE TABLE eleve(

    numero int(11) NOT NULL,

    nom varchar(25) ,

    prenom varchar(25) ,

    datenais date ,

    classe varchar(25) ,

    PRIMARY KEY (`numero`)

    );

  • SIO - SI 7 : TP sur la sauvegarde - Page 9 sur 26

    INSERT INTO `eleve` (`numero`, `nom`, `prenom`, `datenais`, `classe`) VALUES

    (1, 'CORBEL', 'Julien', '1985-05-25', 'SIO2'),

    (2, 'TAULIAUT', 'Etienne', '1985-11-02', 'SIO2'),

    (3, 'POMPONI', 'Jennifer', '1987-10-05', 'SIO1'),

    (4, 'WICHOWSKI', 'David', '1986-01-12', 'SIO1'),

    (5, 'KELHOUFI', 'Kamel', '1988-12-31', 'SIO2'),

    (6, 'DECARY', 'Justine', '1988-06-17', 'SIO1'),

    (7, 'GORDON', 'Jonathan', '1986-11-11', 'SIO2'),

    (8, 'MARC', 'Flore', '1985-04-08', 'SIO2'),

    (9, 'COPIN', 'Quentin', '1985-04-23', 'SIO2'),

    (10, 'MARTIN', 'Steeve', '1986-06-01', 'SIO2'),

    (11, 'DUCHENE', 'Lola', '1985-09-21', 'SIO1'),

    (12, 'PATUREL', 'Flavie', '1987-07-14', 'SIO1'),

    (13, 'MAKIADI', 'Hafedh', '1987-03-19', 'SIO1'),

    (14, 'DURACEL', 'Arthur', '1988-10-30', 'SIO2'),

    (15, 'PEGURY', 'Pierre', '1986-08-29', 'SIO2'),

    (16, 'DELACOURT', 'Maxence', '1986-07-06', 'SIO1'),

    (17, 'ANDRIANA', 'Eloise', '1986-02-07', 'SIO2'),

    (18, 'VALON', 'Margaux', '1988-12-09', 'SIO2'),

    (19, 'LAZGA', 'Noemie', '1985-01-27', 'SIO2'),

    (20, 'AMEYTI', 'Soufi', '1988-01-10', 'SIO2'),

    (21, 'PICOT', 'Laurie', '1984-09-20', 'SIO2'),

    (22, 'DOS SANTOS', 'Pedro', '1986-08-04', 'sio1'),

    (23, 'COLOMBE', 'Bastien', '1986-02-02', 'sio2');

    Vous allez réaliser cette création en ligne de commande

    Travail à faire Depuis votre VM En ligne de commande créer la base de données LYCEE puis la table ELEVE et les différentes insertions dans cette table. Un mode opératoire est fourni ci-dessous Afin d'éviter de saisir toutes les commandes SQL vous pouvez réaliser du copier-coller depuis le fichier pdf

  • SIO - SI 7 : TP sur la sauvegarde - Page 10 sur 26

    Mode opératoire

    Lancez une invite de commande DOS

    Allez dans : C:\xampp\mysql\bin

    Lancez : mysql -u root -P 3306

    Mysql -u :utilisateur -P port d'écoute du serveur

    Vous vous trouvez alors dans le shell MySQL et vous pouvez commencer à entrer des ordres SQL.

    Vérifiez depuis l’explorateur le chemin d’accès à MySql

  • SIO - SI 7 : TP sur la sauvegarde - Page 11 sur 26

    Le port d'écoute se trouve dans le fichier my.ini

  • SIO - SI 7 : TP sur la sauvegarde - Page 12 sur 26

    Pour connaitre l’ensemble des bases stockées sur votre serveur vous pouvez taper au niveau de l’invite de commande : SHOW DATABASES;

    Pour voir la structure d'une table vous pouvez réaliser un describe eleve;

    Pour voir le contenu d’une table : select * from eleve ;

  • SIO - SI 7 : TP sur la sauvegarde - Page 13 sur 26

    2.2 La sauvegarde

    MySQL dispose donc d'un outil spécialement dédié à la sauvegarde des données sous forme de fichiers texte : mysqldump.

    Cette fonction de sauvegarde s'utilise à partir de la console.

    Vous devez donc être déconnectés de MySQL pour la lancer. Tapez simplement : exit

    Syntaxe pour sauvegarder une base de données mysqldump --user=root --password= --databases nom_de_la_base > fichier_destination.sql

    Syntaxe pour sauvegarder toutes les bases de données mysqldump -u utilisateur -p mot_de_passe --all-databases > nom_de_sauvegarde.sql Syntaxe pour sauvegarder quelques bases de données mysqldump --databases base_de_donnees1 base_de_donnees2 ... > nom_de_sauvegarde.sql

    Décortiquons cette commande.

    mysqldump : il s'agit du client permettant de sauvegarder les bases. Rien de spécial à signaler. --opt : c'est une option de mysqldump qui lance la commande avec une série de paramètres qui

    font que la commande s'effectue très rapidement. nom_de_la_base : vous l'avez sans doute deviné, c'est ici qu'il faut indiquer le nom de la base

    qu'on veut sauvegarder. > nom_de_sauvegarde.sql : le signe > indique que l'on va donner la destination de ce qui va être

    généré par la commande : nom_de_sauvegarde.sql. Il s'agit du nom du fichier qui contiendra la sauvegarde de notre base. Vous pouvez bien sûr l'appeler comme bon vous semble.

    Remarque On peut bien entendu sauvegarder le fichier dans un autre dossier que celui où vous êtes au moment de lancer la commande. Il suffit pour cela de préciser le chemin vers le dossier désiré. Ex : C :\mysql\sauvegardes\lycee_sauvegarde.sql au lieu de nom_de_sauvegarde.sql

    Travail à faire Créer un fichier de sauvegarde nommé dump.sql de votre base de données LYCEE. Vérifier en utilisant l’explorateur Windows l’existence de ce fichier dump.sql Ouvrez le fichier avec un éditeur (notepad…) pour voir son contenu

    mysqldump lycee -u root –p > dump.sql

    mysqldump --user=root --password= --databases lycee > dump.sql

  • SIO - SI 7 : TP sur la sauvegarde - Page 14 sur 26

    2.3 La restauration

    La base de données est donc sauvegardée. Notez que la commande pour créer la base elle-même n'est pas sauvée. Donc, si vous effacez votre base par mégarde, il vous faut d'abord recréer la base de données (avec CREATE DATABASE nom_base ;)

    Syntaxe complète mysql --user=root --password= < nom_de_sauvegarde.sql

    Travail à faire Reconnectez-vous à mysql : mysql -u root -P 3306 Faire un drop database lycee ;

    Faire un Show databases; afin de voir les bases de données actuellement valables (LYCEE doit avoir disparu) Restaurer la base de données LYCEE. Pour cela : Déconnectez-vous de mysql : exit Lancer la syntaxe de restauration Vérifier en mode connecté que la base LYCEE et la table ELEVE existe de nouveau

    mysql --user=root --password= < dump.sql

  • SIO - SI 7 : TP sur la sauvegarde - Page 15 sur 26

    4. La gestion du programmateur d’évènements (event Scheduler)

    Le programmateur d'événements a été introduit dans MySQL à partir de sa version 5.1. Il est donc possible de créer des tâches qui se déclenchent à une heure et une date plusieurs fois par jours, voire par semaine... Il y a plusieurs utilités à ça, dont :

    Un nettoyage d'une table, Une optimisation après un ajout massif de tuples (ou enregistrements), Un calcul quelconque…

    3.1 prérequis Afin de gérer le programmateur d’événements vous devez d’abord vous assurez que le service fonctionne Pour cela en ligne de commande : mysql> SHOW GLOBAL VARIABLES LIKE 'event_scheduler';

    Les deux seules valeurs possibles sont ON / OFF Par défaut le service des évènements, chargé de déclencher les évènements est désactivé. Il existe trois méthodes pour l'activer : depuis le fichier de configuration ou par une requête SQL.

    Par requête: mysql> SET GLOBAL event_scheduler = 1 ;

  • SIO - SI 7 : TP sur la sauvegarde - Page 16 sur 26

    Ou bien en éditant le fichier de configuration my.ini et remplacez, ou ajoutez à défaut, la ligne event-scheduler=1

    Travail à faire Vérifiez et éventuellement activer le programmateur d’évènements

    3.2 Comment créer un événement ?

    La syntaxe est la suivante : CREATE

    EVENT

    nom_evenement

    ON SCHEDULE schedule

    DO corps_evenement;

    schedule:

    AT timestamp [+ INTERVAL interval] ...

    | EVERY interval

    [STARTS timestamp [+ INTERVAL interval] ...]

    [ENDS timestamp [+ INTERVAL interval] ...]

    interval:

    quantité {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

    WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |

    DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

    Rappel de la table eleve

  • SIO - SI 7 : TP sur la sauvegarde - Page 17 sur 26

    Exemple

    Se positionner sur la base lycee USE lycee; Créer l’évènement CREATE EVENT EXEMPLE_1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE DO INSERT INTO LYCEE.ELEVE VALUES (30,’DONICAR’,’Stéphane’,’1986-10-10’,’SIO2’);

    Syntaxe permettant d’insérer un nouvel étudiant dans 1 minute dans la table ELEVE

    Travail à faire Tester cet exemple et vérifier l’insertion dans la table eleve avec comme syntaxe sql : select * from eleve ;

    Autres exemples de déclencheur

    Toutes les minutes … ON SCHEDULE EVERY 1 MINUTE …

    Chaque jour à 08h00 du matin à compter du 12/03/2014

    … ON SCHEDULE EVERY 1 DAY STARTS '2014-03-12 08:00:00' …

    Toutes les 8 secondes pendant 1 minute

    .. ON SCHEDULE EVERY 8 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 1 MINUTE …

    Chaque jour à 08h00 du matin à partir de demain matin 8 heures.

    … ON SCHEDULE EVERY 1 DAY

  • SIO - SI 7 : TP sur la sauvegarde - Page 18 sur 26

    STARTS CURRENT_DATE + INTERVAL 1 DAY + INTERVAL 8 HOUR …

    Travail à faire Créer une table classe contenant comme champ un numero de type varchar(25) et un champ nom de type varchar(50). Vous utiliserez un déclenchement au bout d'une minute CREATE EVENT EXEMPLE_2 …. Vous devez obtenir :

    Pour mémoire dans le cas où la création d’une table vous pose pb voici un exemple à adapter : CREATE TABLE eleve( numero int(11) NOT NULL, nom varchar(25) , prenom varchar(25) , datenais date , classe varchar(25) , PRIMARY KEY (`numero`) );

    CREATE EVENT EXEMPLE_2 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE

    DO CREATE TABLE classe( numero varchar(25) NOT NULL, libelle varchar(50) , PRIMARY KEY (`numero`) );

  • SIO - SI 7 : TP sur la sauvegarde - Page 19 sur 26

    5. Utilisation d’un exécuteur de scripts (Cron Script Manager)

    Au niveau de la sauvegarde nous ne pouvons utiliser un Event Scheduler car une sauvegarde oblige à se déconnecter du serveur Mysql. Nous devons donc utiliser un Cron afin de programmer une sauvegarde.

    cron est un programme qui permet aux utilisateurs des systèmes Unix d'exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l'avance, ou selon un cycle défini à l'avance. Dans le monde Windows il existe des équivalents (par exemple AT, Cron Script Manager, iadminCron, Cron-W…).

    Le travail se fera en 2 temps :

    Création d’un script DOS contenant notre instruction de sauvegarde

    Installation et paramétrage de notre programmeur

    4.1 Le script

    Mode opératoire : fonction Date en DOS La commande DATE permet de modifier la date système, ou simplement de la lire.

    set datej=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%

    Travail à faire En utilisant notePad ou le bloc-note vous allez créer un script nommé essai.bat contenant une sauvegarde de votre base de données lycee avec comme nom de sauvegarde : sauvegarde_%datej%.sql Attention : penser à indiquer le chemin complet du dossier vers mysql

    Sauvegardez ce fichier sur votre bureau Mettre en place le produit Cron Script Manager en l'exécutant (un service doit apparaitre au niveau de la barre de tâches

    http://fr.wikipedia.org/wiki/Unix

  • SIO - SI 7 : TP sur la sauvegarde - Page 20 sur 26

    Faire un clic pour configurer en ajoutant le script essai.bat

    Pour tester il ne vous reste plus qu’à faire un clic droit sur l’icone Cron puis run Allez vérifier dans le dossier c:\xampp\mysl\bin l’existance de votre fichier de sauvegarde

  • SIO - SI 7 : TP sur la sauvegarde - Page 21 sur 26

    4.2 Mise en œuvre de Cron script Manager

    Mode opératoire : Cron script Manager Run cronsm.exe. An icon appears on the Windows tray.

    Right click on icon and select Configure > Add script.

    Enter title and optional arguments, browse for script or create new one. Optionally you can edit existing script and define shortcut by pressing keys (like CTRL, ALT...).

  • SIO - SI 7 : TP sur la sauvegarde - Page 22 sur 26

    To run created script at the specified time, right click on tray icon and select Schedule. Enter minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6) and script name starting with ? See cron syntax for more info.

    Script can be also started manually. Right click on tray icon and select Run > my_script.

    Un ! devant un mot affiche un ce mot au bout d’un certain temps Pour exécuter un programme faire précéder le nom du fichier par un ?

    http://cronsm.sourceforge.net/master.php?page=syntax

  • SIO - SI 7 : TP sur la sauvegarde - Page 23 sur 26

    Cron syntaxe

    Cron is a timer which checks each line in the code and runs a command if the line and the time match. Minimum interval is one minute. Code contains lines (text) and each line contains trigger time and command. Trigger time is defined with exactly 5 segments, separated with space(s) or tab(s). Segment can be defined with a number (e.g. 14th day of the month), range (e.g. from monday to friday), step (e.g. when hour is 0, 2, 4, 6...), star ('*', e.g. for every day) or list (combination of number(s), range(s), step(s)). After the time comes a command - it can be filename with arguments, script name starting with ? or internal command starting with !. Time segments must be written in the following order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6 or 7, where 0 is the same as 7 and represents Sunday). Comments are written with # symbol and are ignored by the Cron. # should be written before any alphanumeric character (numbers, letters and other symbols). Samples:

    # This is a comment # Commented lines are ignored, so next line is NOT

    executed

    # * * * * * !test Hello World

    # Stars mean that the command will be triggered every minute, hour, day...

    * * * * * !test Hello World

    # Command will be triggered at 15:00, 2nd day of month, every month

    0 15 2 * * !test Hello World

    # Command will be triggered at 6:00, 6:30, 18:00, 18:30, every month, on

    monday

    0,30 6,18 * * 1 !test Hello World

    # Command will be triggered on 5, 10, 15... minute when hour is 0, 1, 2,

    20, 21, 22 and month is December

    */5 0-2,20-22 * 12 * !test Hello World

    # Next line executes notepad every minute

    * * * * * notepad.exe

  • SIO - SI 7 : TP sur la sauvegarde - Page 24 sur 26

    # Next line executes script.bat with arguments every minute

    * * * * * C:\Temp\script.bat -x -y

    # Next line executes script named "my_script" every minute

    * * * * * ?my_script

    Settings

    Application settings are saved in Windows Registry: HKEY_CURRENT_USER\Software\Papn Kukn\Cron Script Manager Default entries are not written to the registry, but you can specify them manually: EnableSchedule - enable schedule at next application startup EnableLogging - enable error logging to ScriptDirectory; for debugging (development) ScriptDirectory - directory where the Cron code is saved, also default directory for scripts; if the directory is not specified then C:\Users\.....\AppData\Roaming\Cron Script Manager is used, cronsm.tab contains Cron lines.

    Travail à faire Faire une exécution manuelle de votre script. Vérifier la création de votre fichier de sauvegarde Faire un paramétrage avec le schedule pour déclencher une sauvegarde toutes les minutes Vérifier l’existence de votre fichier de sauvegarde Remarque : afin de tester votre paramétrage vous pouvez utiliser le site : http://crontranslator.appspot.com/

    http://crontranslator.appspot.com/

  • SIO - SI 7 : TP sur la sauvegarde - Page 25 sur 26

    6. Exercice : Le cas RucheNort (BTS SISR 2014 NC)

    Avantages Inconvénients

    Complète

    Différentielle

    Incrémentielle

  • SIO - SI 7 : TP sur la sauvegarde - Page 26 sur 26

    Question C.1.1 Présenter au responsable de MedicalProService un tableau « avantages et inconvénients » des trois méthodes de

    sauvegarde suivantes : complète, différentielle et incrémentielle.

    Avantages Inconvénients

    Complète On est sûr de ne rien oublier. Très lent . Pas de sauvegarde "jour par jour" des modifications (versions).

    Différentielle Rapide. Seules les dernières

    modifications depuis la dernière

    sauvegarde complète sont

    transférées.

    Pas de sauvegarde "jour par jour" des modifications

    (versions)

    Incrémentielle Rapide. Toutes les évolutions (versions) sont conservées.

    La restauration des données est plus complexe qu'avec les autres méthodes car il faudra manipuler plus de

    versions de sauvegardes pour restaurer une situation.