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 :

Variables de my.cnf non prises en compte


Sujet :

Administration MySQL

  1. #1
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut Variables de my.cnf non prises en compte
    Bonjour,

    Voici mon fichier /etc/my.cnf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
     
    max_allowed_packet = 512M
    thread_stack = 1024k
    thread_cache_size = 16M
    query_cache_limit = 512M
    query_cache_size = 10270M
    long_query_time = 2
    max_binlog_size = 100M
    key_buffer_size = 512M
     
     
    # Default to using old password format for compatibility with mysql 3.x
    # clients (those using the mysqlclient10 compatibility package).
    old_passwords=1
     
    log_slow_queries       = /var/log/mysql/mysql-slow.log
     
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
     
    [mysqldump]
    quick
    max_allowed_packet = 16M
    Or, après avoir relancé le serveur, voici l'état des variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SHOW VARIABLES LIKE 'have_query_cache';
    +------------------+-------+
    | Variable_name    | Value |
    +------------------+-------+
    | have_query_cache | YES   | 
    +------------------+-------+
    mysql> SHOW VARIABLES LIKE 'query_cache_size';
    +------------------+-------+
    | Variable_name    | Value |
    +------------------+-------+
    | query_cache_size | 0     | 
    +------------------+-------+

    Ce qui me fait croire que les variables insérées dans my.cnf ne sont pas prises en compte.
    Est ce que quelqu'un aurait un idée de ce qui se passe?

    Je vous remercie

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Points : 159
    Points
    159
    Par défaut
    Waouhhh, un query cache de 10 GB ????

    Pour savoir où doit être le fichier my.cnf, fais donc un ps aux | grep mysqld ou un équivalent, et regarde l'option defaults-file.

    Stéphane

  3. #3
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    Merci pour ta réponse Stéphane,
    Voilà ce que me rend la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    root     15759  0.0  0.0   4480  1104 pts/3    S    17:21   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
    mysql    15819  0.1  0.4 1179736 77196 pts/3   Sl   17:21   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock

    Ce qui m'indique que /etc/mycnf est pris en compte, c'est que lorsque j'y insère des fausses variables, le démarrage de mysqld provoque des erreurs

  4. #4
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    J'ai essayé de mettre query_cache_size à M, et là ça marche...
    Par contre pas moyen de passer au dessus de 1G de cache.... à partir de cette taille le compteur est remis à 0
    Est ce que quelqu'un sait ce qui peut limiter la taille?

    merci!

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Points : 159
    Points
    159
    Par défaut
    Combien de mémoire as-tu sur ta machine ?

    La totalité de la mémoire paramétrée par le query_cache_size est allouée en une fois au query cache, même si le query cache est entièrement vide.

    J'imagine que si tu déclares une valeur trop élevée par rapport aux ressources physiquement disponibles, MySQL déclare forfait et désactive le query cache.

    Stéphane

  6. #6
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    J'ai 16G alloués à MySQL. Mais j'ai l'impression que la limite haute est finalement de 2000M (à qqes octets près).
    J'ai observé ce phénomène pour d'autres variables.

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Points : 159
    Points
    159
    Par défaut
    Tu as bien un OS 64 bits ? Sinon, les 16G....

    Pour ton query cache, de toute façon, 256M est déjà très élevé.
    Si ton cache est trop gros, tu vas avoir des latences énormes quand le cache est invalidé.

    Stéphane

  8. #8
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    Ouaip! 64 bits!

    Par contre je n'avais pas conscience des problèmes de latence que pouvait engendrer un cache trop gros...
    Merci beaucoup

Discussions similaires

  1. Variable non prise en compte dans l'url
    Par duffman39 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 20/10/2011, 16h33
  2. Variable d'entrée non prise en compte
    Par Aldous dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/09/2011, 14h15
  3. variable non prise en compte
    Par oliv27400 dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/11/2010, 09h28
  4. Permissions CACLS variable non prise en compte
    Par Selkurs dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 12/03/2009, 13h27
  5. Variable non prise en compte dans un formulaire
    Par stomerfull dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2008, 14h36

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