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 :

Flush log binaire


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut Flush log binaire
    Bonjour à toutes et à tous,

    Je me heurte à un petit problème lors de la regénération de log binaire.
    Lorsque j'exécute la commande FLUSH LOGS dans la console mysql, tout se passe correctement.

    Cependant, lorsqu'il s'agit d'exécuter cette commande dans un script PHP, rien ne se passe. J'ai essayé avec l'aternative mysqladmin --flush logs mais rien n'y fait. Je tiens à préciser que j'ai effectué une connexion à la base au préalable dans le script.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $cmdflush = "mysqladmin flush-logs";
    					exec($cmdflush, $retour, $res);
    					echo "res flush = $res\r\n";
    					print_r($retour);
    J'ai essayé avec les "--" devant flush sans succès. J'ai le code retour : 1

    Aussi, comment savoir dans le fichier index des log binaires lequel est actuellement utilisé par mysql ? Il me semblait que c'était celui précédé des caractères ./ : ./mysql-bin.000001 par exemple. Mais dans mon cas voici le contenu de mon fichier index :

    .\mysql-bin.000001
    .\mysql-bin.000002
    .\mysql-bin.000003
    .\mysql-bin.000004
    .\mysql-bin.000005
    .\mysql-bin.000006
    .\mysql-bin.000007
    .\mysql-bin.000008
    .\mysql-bin.000009
    .\mysql-bin.000010
    .\mysql-bin.000011
    .\mysql-bin.000012
    Est-ce normal ?

    En espérant être compréhensible,

    Cdlt, deletMe
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  2. #2
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut
    Quelqu'un pourrait-il copier le contenu de son fichier index pour commencer ?
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  3. #3
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut
    Bonjour à toutes et à tous,

    Je viens de demander de l'aide à mon responsable projet et voici les solutions :

    • FLUSH LOGS : se connecter en premier à la base avec mysql_connect puis faire un mysql_query('FLUSH LOGS', $lienbdd);
    • mysqladmin : $cmd = 'mysqladmin -u user -p password flush-logs';
      exec($cmd,$retour,$res);


    Voilà, en espérant que ça en aide certain(e)s.

    Cependant je n'ai toujours pas trouver la façon de déterminer le log binaire actif. Il est vrai qu'après un flush le serveur utilise forcément le log dont l'index est le plus haut... Je vais voir de ce côté là.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Pour voir le log binaire actif, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    mysql:root:b1> show master status;
    +--------------------------+----------+--------------+------------------+
    | File                     | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +--------------------------+----------+--------------+------------------+
    | myserver02_logbin.000008 |     2480 |              |                  |
    +--------------------------+----------+--------------+------------------+
    1 row in set (0.01 sec)
     
    mysql:root:b1>
    Rachid

  5. #5
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut
    En effet merci pour l'information. Cependant est-il possible de récupérer cette info autrement que dans la console ? En retour de fonction par exemple ?
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  6. #6
    Membre chevronné
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Par défaut
    Bonjour,

    Voici une solution que l'on a trouvé, qui fonctionne et que je vous propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = mysql_query("SHOW MASTER STATUS"); // montre le log en cours
    $dernier_log = mysql_result($result, 0);//recupere le log en cours			
    $result = mysql_query("PURGE MASTER LOGS TO '$dernier_log'"); //purge de tous les logs anterieur à celui cité
    Cdlt, deletMe
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

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

Discussions similaires

  1. Que faire des logs binaires ?
    Par frocket dans le forum Administration
    Réponses: 8
    Dernier message: 02/06/2012, 07h57
  2. Transactions et innodb flush log at trx commit
    Par SuperCed dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/09/2007, 14h45
  3. Variables caractères dans le Log Binaire.
    Par Cyril_A dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/09/2007, 12h03
  4. replication et fichier de log binaire
    Par overider dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 22/08/2007, 20h44
  5. Comment faire un tail -f sur les logs binaires mysql-bin ?
    Par mediaforest dans le forum Requêtes
    Réponses: 8
    Dernier message: 24/09/2005, 12h34

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