IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

verrouillage pendant backup journalier avec mysqldump


Sujet :

Administration MySQL

  1. #1
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut verrouillage pendant backup journalier avec mysqldump
    Bonjour,

    Je cherche à faire un backup journalier de mes bases de données.

    Je m'inquiète qu'il y aie des connexions à la db pendant que je fait
    mon dump

    avez-vous des recommandations à me donner pour faire ça "proprement" ?

    merci,
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Je pense que le mieux serait d'utiliser les transactions :
    tu ouvres une transaction, tu lockes tes tables, tu fais le dump, tu délockes, et tu valides la transaction...
    : http://dev.mysql.com/doc/refman/5.1/...nsactions.html
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    merci,

    Est ce que l'option lock-tables de mysqldump fait ça ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  4. #4
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    Ce n'est pas tout à fait la même chose puisque cette option doit fonctionner pour les tables MyISAM, il n'y a aucune transaction.

    D'ailleurs si tes tables utilisent InnoDB, il n'y a même pas besoin de locks. L'option --single-transaction de mysqldump fait l'affaire.

    Sinon pour MyISAM, --lock-tables ou --lock-all-tables iront très bien normalement.

    Si tu es sous Unix, tu peux regarder du côté de mysqlhotcopy qui réalise aussi des locks et qui fait des sauvegardes plus rapidement, que des dumps complets. D'ailleurs, même si tu es sous Windows, ça ne doit pas être trop compliqué de refaire la même chose avec un batch ou un petit prog.

  5. #5
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Merci Biglo,

    J'utilise exclusivement des tables MyISAM, donc vais utiliser --lock-all-tables
    lors du dump.

    Par contre, étant donné que je n'utilise pas de transactions, je pense qu'il
    me faut éviter de faire le dump pendant l'utilisation de la db par un de mes
    clients.

    Etant donné que mes utilisateurs accèdent à la db pendant une session de
    travail, je pourrai faire le dump si il n'y a plus de session en cours.

    Il y a juste un risque minime, c'est que l'utilisateur se log juste après que
    j'aie vérifié qu'il n'y a pas de session et juste avant que je lance le dump.
    Mais là je crois que je paranoïe un peu :-)

    Merci pour vos conseils.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/04/2012, 11h50
  2. exporter base de donnees avec mysqldump
    Par _bobo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/10/2007, 13h51
  3. Problème avec mysqldump
    Par Scaillea dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/04/2007, 13h32
  4. Réponses: 1
    Dernier message: 27/04/2007, 18h58
  5. pb avec mysqldump
    Par dody dans le forum Administration
    Réponses: 8
    Dernier message: 21/05/2003, 07h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo