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 :

Acces base impossible sans plantage du serveur Mysql


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 10
    Points
    10
    Par défaut Acces base impossible sans plantage du serveur Mysql
    Bonjour à tous,

    J'ai un problème de base mysql depuis quelque temps qui est trés génant.
    La situation est la suivante :
    Sur un dedié (32 G° de ram)
    1 seul site public (max 150 visiteurs/jours)
    1 base de données de 85 M°

    Assez régulièrement il y a un "plantage" de mysql.
    Je met entre guillements car le site n'arrivent plus à se connecter à la base alors que le serveur est toujours en action.
    Je dispose de monit sur le serveur qui permet , en cas de plantage, de relancer les services.
    Mais dans ce cas monit ne detecte rien, et pour cause il n'y a pas de plantage.

    En faisant un restart de mysql tout repart trés bien

    j'ai optimisé la base en la passant en innodb et avec les paramétres suivants pour my.cnf

    key_buffer = 16M
    key_buffer_size = 1G
    max_allowed_packet = 16M
    thread_stack = 192K
    thread_cache_size = 100
    tmp_table_size = 100M
    max_heap_table_size = 100M
    join_buffer_size = 2048K
    query_cache_limit = 512M
    query_cache_size = 1G
    max_connections = 300
    innodb_buffer_pool_size = 15G
    innodb_log_buffer_size = 8M
    innodb_buffer_pool_instances = 15
    log_slow_queries = /var/log/mysql/mysql-slow.log

    D'aprés les logs aucune requête lente n'est lancée.

    Auriez une idée ou une piste de reflexion.

    le problème se reproduit trés régulièrement et le client commence à perdre patience.

    Merci d'avance

    Laurent

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 377
    Points : 19 049
    Points
    19 049
    Par défaut
    Salut Laurentf60.

    Citation Envoyé par Laurentf60
    J'ai un problème de base mysql depuis quelque temps qui est très gênant.
    Si tu ne nous indiques pas la nature exacte de ton problème, il sera difficile de répondre à ta question.
    Quel est le message d'erreur que tu obtiens ?
    Qu'est-ce qui se passe de particulier quand tu as ce problème ?

    A oui, on ne note pas 'G°' car je lis 'G degré', mais 'Go' pour 'giga octet'.

    La première idée qui me vient à l'esprit est de vérifier tes tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqlcheck --repair --all-databases
    Autrement dit, il se peut que tes tables soient corrompues. Il faut les réparer.

    Sinon, concernant le paramétrage de ton fichier 'my.ini', je te conseille de lire sur mon site, la page web 'mysql'.
    Tu vas au paragraphe '2-E) Le fichier my-huge.ini.". Cela devrait te convenir.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Salut Laurentf60.


    Si tu ne nous indiques pas la nature exacte de ton problème, il sera difficile de répondre à ta question.
    Quel est le message d'erreur que tu obtiens ?
    Qu'est-ce qui se passe de particulier quand tu as ce problème ?

    A oui, on ne note pas 'G°' car je lis 'G degré', mais 'Go' pour 'giga octet'.

    La première idée qui me vient à l'esprit est de vérifier tes tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqlcheck --repair --all-databases
    Autrement dit, il se peut que tes tables soient corrompues. Il faut les réparer.

    Sinon, concernant le paramétrage de ton fichier 'my.ini', je te conseille de lire sur mon site, la page web 'mysql'.
    Tu vas au paragraphe '2-E) Le fichier my-huge.ini.". Cela devrait te convenir.

    @+
    Merci artemus pour les précisions.

    pour être, a mon tour, plus précis le problème exact est le suivant.

    Le site en prod (php, mysql habituel) dispose d'un fichier config.php qui lui même contient la fonction :
    $connect = mysql_connect("$mysqlserveur" , "$mysqlloggin" , "$mysqlpassword") or die("connexion impossible");

    $connect étant utilisé ou il se doit dans le site.

    Hors régulièrement (et depuis peu) s'affiche "connexion impossible". C'est à dire le retour die alors que le serveur mysql est en service.
    En relancant le serveur mysql le problème est résolu.
    J'ai verifier la bonne inclusion de ce fichier dans l'ensemble du site et c'est normal de ce coté.
    Ce n'est donc pas un problème du script.

    En espérant avoir été assez clair.

    Merci

    Laurentf60

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Peut-être avez vous simplement atteint le nombre maximum de connexions.

    Vérifiez que vos scripts les ferment proprement.

  5. #5
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 676
    Points : 2 009
    Points
    2 009
    Par défaut
    Bonjour,

    Je plussoie sur le message précédent de aieeeuuuuu
    un SHOW FULL PROCESSLIST te montrera la liste des connexions en cours sur le serveur.

    Le requête suivante te montrera si le nombre de connexions n'est pas bridé artificiellement (peu probable mais on se sait jamais) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select Host,User,max_connections,max_user_connections from mysql.user
    La joie de l'âme est dans la planification -- Louis Hubert Liautey

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 377
    Points : 19 049
    Points
    19 049
    Par défaut
    Salut laurent.

    Citation Envoyé par laurentf60
    Hors régulièrement (et depuis peu) s'affiche "connexion impossible".
    Ce dont tu me signales, c'est juste le symptôme de ton problème et non la cause.
    As-tu un extrait du fichier 'mysql error.log' à nous fournir quand ce problème survient ?

    Si ton message d'erreur est un "connexion impossible", ce n'est pas très explicite et il faudrait le changer et mettre par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $link = mysqli_connect('localhost', 'test', 'test', 'test');
     
    if (mysqli_connect_errno())
    {
    	echo "Echec à la connexion (".mysqli_connect_errno().") : ".mysqli_connect_error();
    	exit();
    }
    Si après avoir réadapté le message de ton problème de connexion, et que tu obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Too many connections in
    cela signifie que chaque connexion demande des ressources et de ce fait, augmenter le nombre de connexions risque de dépasser les ressources maximales qui sont disponibles sur ton ordinateur.
    Il faudrait voir avec ton administrateur pourquoi le nombre de connexions a été maximisé ainsi.

    Autre problème, l'instabilité d'une table. As-tu fait une maintenance sur tes bases de données ?
    Par exemple lancer le 'mysqlcheck' ou encore faire un 'repair' ?

    Citation Envoyé par laurentf60
    J'ai vérifié la bonne inclusion de ce fichier dans l'ensemble du site et c'est normal de ce coté.
    Qu'est-ce que tu entends par 'la bonne inclusion' ? Je ne comprends pas du tout le sens de ta phrase.

    Sinon sache que l'on n'utilise plus les extension 'mysql' car elles sont devenues obsolètes, mais plutôt le 'PDO' de préférence, ou le 'mysqli'.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Accès distant impossible après mise à jour de MySQL sur Debian
    Par Darkroxor dans le forum Administration
    Réponses: 6
    Dernier message: 14/10/2012, 18h09
  2. Peut-on utiliser une table MySQL sans installer de serveur MySQL ?
    Par ChriGoLioNaDor dans le forum Débuter
    Réponses: 2
    Dernier message: 02/02/2012, 21h09
  3. résolution graphique sans plantage du serveur X
    Par monsieur77 dans le forum Ubuntu
    Réponses: 5
    Dernier message: 25/11/2007, 18h14
  4. Impossible de relancer un serveur MySQL
    Par ViRouF dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/04/2007, 18h04
  5. Accès impossible au serveur MySQL
    Par aliasjcdenton dans le forum Installation
    Réponses: 3
    Dernier message: 19/05/2003, 17h11

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