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 :

DUMP Mysql site bloqué


Sujet :

Administration MySQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut DUMP Mysql site bloqué
    Bonjour a vous,

    voila mon soucis..

    J'ai un mysql 5.1 sur un windows serveur 2008 , je fais des DUMP tout les soirs à 00h00.
    Durant ce dump, mysql doit sans doute lock les tables, mais le soucis c'est que les processus httpd (apache) s'accumule sur mon serveur Apache et dans certain cas le serveur plante.

    voila j'aurai aimer savoir comment vous faisiez pour vos DUMP (ma base fait plusieur GIGA, les dumps dure plus de 10 min)

    toute solution est la bienvenu .

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 544
    Points
    52 544
    Billets dans le blog
    5
    Par défaut
    MySQL n'est pas en mesure à ce jour de permettre une sauvegarde cohérente à chaud sans verrouiller les tables. Si votre site fonctionne 24h/24 et avec un fort volume et trafic, orientez vous vers PostGreSQL ou mieux, Oracle, SQL Server....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci de votre reponse.

    mais je pense que je vais m'orienter vers un second serveur en slave pour faire mes DUMP et ne pas le faire sur le serv de prod.

    par contre pour info j'ai vu que si je passais mes table en engine INNODB , seul la ligne lu serai lock et non la table entière comme en MyIsam dans mon cas (je ne peux pas changer car je dois garder mes index fullText).

    pour le moment une migration vers un autre system est assez dur a envisager pour moi (manque de temps et de compétence)

  4. #4
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Essais de passer a InnoDB et d'utiliser un système de recherche externe style Sphinx ( http://www.sphinxsearch.com/ )

    PostGreSQL ou mieux, Oracle, SQL Server....
    Troll ?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 544
    Points
    52 544
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par deew599 Voir le message
    par contre pour info j'ai vu que si je passais mes table en engine INNODB , seul la ligne lu serai lock et non la table entière comme en MyIsam dans mon cas (je ne peux pas changer car je dois garder mes index fullText).
    Ce sera pire, car votre sauvegarde risque d'être incohérente. Du genre sauvegarde de la table client, puis insertion client et facture, puis sauvegarde table facture. Au restore, il y aura une facture sans client !
    MySQL n'est pas en mesure à ce jour de permettre une sauvegarde cohérente à chaud sans verrouiller les tables, quelque soit le moteur de stockage choisit !
    C'est une anomalie gravissime bien connue et non résolue à ce jour car cela impose de nombreux changements technique remettant en cause les principes même de fonctionnement de MySQL !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 70
    Points : 88
    Points
    88
    Par défaut
    Lire ici :

    http://www.innodb.com/doc/hot_backup/manual.html

    Bref. Si tu utilises MyISAM, il faut que tu te poses une question : si tes données sont suffisamment importantes pour justifier une sauvegarde, pourquoi les stocker dans un type de table qui n'offre aucune garantie d'intégrité ? Pas de contraintes, pas de FK, aucune garantie en cas de crash, et d'ailleurs, si il y a un crash, il est fort probable que tu perdras des bouts de table, ou alors ta table est corrompue et nécessite un REPAIR (ce qui peut prendre des plombes), ou alors tes index sont corrompus et tes requêtes renvoient des résultats faux, etc. Et comme il y a eu un crash...

    Donc première chose : MyISAM ne doit être utilisé que pour du read-only, du cache, des tables temporaires, etc, bref des choses pour lesquelles MyISAM va bien parce que c'est un format compact

    Donc, toute donnée importante doit être en InnoDB, avec contraintes, etc.

    Ah, oui, le FULLTEXT.

    J'avais fait des benchmarks assez poussés il y a environ 2 ans et les résultats furent que :

    - Le FULLTEXT de MySQL est vraiment misérable
    - Postgres est 10-100x plus rapide,
    - Xapian est 10-100x plus rapide que Postgres

    quand ça commence à dépasser un peu la RAM, le fulltext de MYSQL s'effondre, celui de Postgres fatigue, celui de Xapian ne remarque rien, il continue à tourner à une vitesse hallucinante.

    Il paraît que Sphinx est au même niveau que Xapian.

    Donc tu vois le FULLTEXT est un faux argument, la solution est de virer le fulltext mysql et de prendre un vrai moteur. En plus Sphinx/Xapian sont beaucoup plus puissants, et franchement, les INSERT/UPDATE sur les index FULLTEXT de MySQL, je les ai assez vus.

    Si tu veux éviter que 1000 process apache crash ton serveur, utilise lighttpd qui gère parfaitement bien ce genre de cas, ou alors un squid ou apache-proxy devant un apache avec au max 10-20 process.

    Perso, je mettrais Postgres, ou SQL Server si tu es marié à Windows.

  7. #7
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Pourtant logiquement si on fait le backup depuis une transaction, c'est sensé être cohérent, non ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 70
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par kedare Voir le message
    Pourtant logiquement si on fait le backup depuis une transaction, c'est sensé être cohérent, non ?
    Certes, mais là il est sous MyISAM

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Encore merci pour vos reponses

    En fait j'utilise déjà lucene couplé de solr pour mes recherches, trés efficace soit dit en passant, j'avais tester sphinx qui gère très bien aussi mais est moins pratique sur l'indexation a la volé.

    sinon cette table que je sauvegarde est utilisé quasi qu'en lecture et est mis a jour grâce a des cron tous les jours, mais j'ai encore besoin de mes fulltext pour certaine recherche et mysql suffit pour celle ci, pour les autre j'ai lucéne ;p.

    par contre mettre un serveur en slave pour mes sauvegardes personne n'en a parlé , ce n'est pas une bonne idee?

    edit:je n'ai pas de données vraiment critique, le site peu s'apparenter a un "forum" amélioré

  10. #10
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2002
    Messages : 241
    Points : 563
    Points
    563
    Par défaut
    L'utilisation d'une réplication master/slave peut être une partie de la réponse à votre problème (le site lag lors du backup).
    Cependant il y aura toujours un problème votre base qui fait plusieurs GIGA.
    MySqlDUMP n'est pas un outil de sauvegarde, mais un outil permettant de faire des export au format texte de vos données.
    Il est généralement utilisé avec les options par défaut (en mode SQL) et sur les bases de plusieurs Go c'est l'horreur garantie si vous voulez faire une restauration (une lenteur enorme même avec --extended-insert et il n'est pas dit que vous irez jusqu'au bout ...). L'utilisation de --tab est à préférer.

    Il faut bien se rappeler que le but d'une sauvegarde et de pouvoir restaurer des données cohérente rapidement sans (trop de) perte de données.

    Avez vous envisager les sauvegarde à froid sur un SLAVE ?
    Olivier Miossec

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Avez vous envisager les sauvegarde à froid sur un SLAVE ?
    le slave aurai cette utilité en fait (pas encore installé)

Discussions similaires

  1. 2003 serveur. Acces au site bloqué
    Par Phiss dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 28/06/2006, 10h39
  2. Dump MySQL et caractère ' (apostrophe)
    Par sqlnoob dans le forum Outils
    Réponses: 6
    Dernier message: 27/05/2006, 22h45
  3. Dump Mysql
    Par BenoitDenis dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/03/2006, 15h42
  4. Requete MySql qui bloque. Probleme de table?
    Par Doberman dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/02/2006, 20h28
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 13h14

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