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

Outils MySQL Discussion :

Augmenter le taille de ma BD MySQL


Sujet :

Outils MySQL

  1. #1
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut Augmenter le taille de ma BD MySQL
    Bonjour,

    Je voudrais savoir comment augmenter la taille de ma base de données. Sachant qu'elle est de type innoDB et que le fichier ibdata1 fait toujours 18Mo que j'insers des données ou que je les supprime.

    Il y a surement une facon de faire, j'ai cherché et je n'ai pas trouvé. merci

  2. #2
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Ce fichier est défini par 'innodb_data_file_path' dans la configuration de MySQL. Par défaut il doit être marqué comme 'autoextend' donc pousser (mais pas diminuer !) au fur et à mesure que l'on ajoute des données dans la base. Sans 'autoextend' sa taille est fixe et si on la dépasse les insertions seront refusées.

    Si en ajoutant des données sa taille n'augmente pas c'est soit que sa position a été changée (et que ce n'est plus ibdata1, ou qu'il y a deux fichiers et que le premier est plein) soit que les données insérées ne dépassent pas sa capacité actuelle : pour dépasser 18M il faut déjà un paquet de données.

    "show table status" doit donner la capacité restante. A noter que changer la taille du fichier avec 'innodb_data_file_path' est délicat car il me semble que ça oblige à le supprimer.

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 922
    Points : 6 038
    Points
    6 038

  4. #4
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    quand je modifie le fichier my.ini, ca fusille completement la base de données. et je dois réinstaller MySql. Ce que j'ai reussi à modifier c'est tmp_table_size mais je ne sais pas si ca à kkchose à voir.
    En fait j'utilise MySql5 et je configure grace à mysql administrator. Mais ce dernier ne donne pas le choix pour modifier la taille de mon ibdata1

  5. #5
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par khokho
    quand je modifie le fichier my.ini, ca fusille completement la base de données. et je dois réinstaller MySql. Ce que j'ai reussi à modifier c'est tmp_table_size mais je ne sais pas si ca à kkchose à voir.
    Pour tmp_table_size non. innodb_data_file_path est un paramètre très sensible. Y toucher c'est avoir de bonnes chances de devoir supprimer le fichier existant et (je dis ça en gros et à la louche) de redémarrer deux fois MySQL
    Réinstaller est surfait. Au pire remettre l'ancien fichier devrait suffire (voire restaurer le répertoire DATA si on y a fait des trucs à la main que l'on regrette).

    Citation Envoyé par khokho
    En fait j'utilise MySql5 et je configure grace à mysql administrator. Mais ce dernier ne donne pas le choix pour modifier la taille de mon ibdata1
    Normal, il ne permet pas de toucher au fichier de configuration. S'il modifie un paramètre qui y figure, la modification disparaitra au prochain redémarrage et ça ne concerne que ce qui peut être changé en live. Pour innodb_data_file_path ce n'est pas la peine.


    A part ça, pourquoi vouloir le modifier ? La valeur de base doit convenir pour bien des cas.

  6. #6
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    Pourquoi vouloir le modifier? parceque c'est la BD d'un nouveau moteur de recherche d'emploi, et donc je pense que 18Mo c'est bien maigre. Non?

    tu as dis "Pour tmp_table_size non", c'est à dire que ce n'est pas ca qui va changer la taille de ma BD. C'est bien ca?

    tu as dis aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    supprimer le fichier existant et (je dis ça en gros et à la louche) de redémarrer deux fois MySQL
    tu parle du fichier my.ini ou de ibdata1 ?
    En fait, quand je touche à my.ini c'est le service MySql qui plante.

    voila voila

    Merci

  7. #7
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par khokho
    Pourquoi vouloir le modifier? parceque c'est la BD d'un nouveau moteur de recherche d'emploi, et donc je pense que 18Mo c'est bien maigre. Non?
    C'est peu mais il peut grandir donc la configuration d'origine (10Mo extensibles, ce qui laisse penser qu'avec ses 18Mo le fichier a déjà été aumenté une fois) peut tout à fait convenir. Eventuellement ajouter "innodb_autoextend_increment=100M" par exemple pourrait être utile et éviter les difficultés.
    Citation Envoyé par khokho
    tu as dis "Pour tmp_table_size non", c'est à dire que ce n'est pas ca qui va changer la taille de ma BD. C'est bien ca?
    tmp_table_size est la taille maximale que peut atteindre une table temporaire avant d'être déchargée sur le disque.
    Citation Envoyé par khokho
    tu parle du fichier my.ini ou de ibdata1 ?
    ibdata1. Après quelques essais il faut supprimer les 'ibdata' et les 'ib_logfile' avant de redémarrer et ça marche du premier coup. Il faut aussi ne pas avoir de table innodb déjà définie (sinon il faut les supprimer ou carément effacer les répertoires correspondant ce qui n'est pas très beau).
    Citation Envoyé par khokho
    En fait, quand je touche à my.ini c'est le service MySql qui plante.
    Normal, la taille du fichier ibdata1 est en contradiction avec ce qu'il trouve dans sa configuration, et il peut aussi y avoir incohérence avec les fichiers de log.
    Il peut être intéressant de regarder le log des erreurs quand le service ne démarre pas. Ca permet de voire s'il y a une faute de frappe dans le fichier de configuration ou un problème plus grave.

  8. #8
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    ah, donc c la commande "innodb_autoextend_increment=100M" qu'il faut mettre et non "innodb_data_file_path:ibdata1:autoextend".

    Enfin, je pense que les 2 sont valides. La première etend tous les innodb et la 2ème uniquement celle qu'ont spécifie.

    Enfin, je pense que c'est ca

    En tous cas, merci pour ton aide. je verais ca se soir et je te tiens au courant

  9. #9
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    'autoextend' indique que le fichier peut grandir, 'innodb_autoextend_increment' la taille des incréments.

    Par défaut il me semble que l'on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    innodb_data_file_path=ibdata1:10M:autoextend
    innodb_autoextend_increment=8M
    ('innodb_autoextend_increment' vaut 8M par défaut mais n'est pas de base précisé dans le fichier)

    Augmenter 'innodb_autoextend_increment' peut améliorer la situation sans remettre en cause le fichier existant. Sinon il est possible de carément mettre quelquechose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    innodb_data_file_path=ibdata1:2G;ibdata2:1G:autoextend
    innodb_autoextend_increment=200M
    mais c'est un peu extrème pour un gain indéterminé.

  10. #10
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    c'est bon c'est fait.

    Voilà comment j'ai procédé:
    Avant de toucher au fichier my.ini, j'ai fais un backup de mon actuelle BD.
    j'ai supprimer les bd innodb, j'ai supprimé les iblogfile. j'ai modifié my.ini, j'ai créé une bd innodb bidon et j'ai restoré le backup et c'était bon, j'ai retrouvé ma bd

    Maintenant j'ai une autre interrogation, qu'est ce qu'il y a à configurer dans MySql pour qu'il supporte un très grand nombre de requetes et qu'il supporte aussi les grosses requêtes?

    En tous cas merci bcp pour ton aide. J'en ai tjs besoin d'ailleurs

    Encore merci

  11. #11
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Pour ce qui est de tuner le serveur c'est un vaste sujet. Ca dépend de beaucoup de choses (application, trafique, structure de la base, hardware du serveur...)

    S'il fallait ne retenir qu'une chose pour innobd ce serait probablement l'option "innodb_buffer_pool_size" à pourvoir généreusement. Et bien veiller à indexer ses tables car toutes les options de configuration ne pourront remplacer une bonne indexation.

    Sinon mysql arrive avec plusieurs fichiers de configuration "types" en fonction de la taille du harware disponible. Il y a dans la doc officielle une partie sur le tuning et donnera de très nombreuses pages sur le sujet (http://www.mysqlperformanceblog.com/ par exemple).

    Bonne chance

  12. #12
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    alors le site est un moteur de recherche d'emploi. L'application est une appli J2EE avec Tomcat, JBoss et MySql.
    Le traffic, on table sur quelque chose comme 10.000 connexions/jours dans 6mois. Donc un trafic très important.
    Le serveur est un Pentium Dual core 3G avec 2 Go de RAM et 160 Go de Dur.

Discussions similaires

  1. augmenter la taille de la mémoire de mysql
    Par Amel_B dans le forum MySQL
    Réponses: 1
    Dernier message: 02/09/2009, 09h09
  2. augmenter la taille pour une table mysql
    Par zidenne dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/08/2006, 15h01
  3. augmenter la taille d'une tablespace?
    Par sali dans le forum Oracle
    Réponses: 1
    Dernier message: 01/12/2005, 15h52
  4. [Redo log] : augmenter la taille des fichiers
    Par user_oracle dans le forum Oracle
    Réponses: 3
    Dernier message: 29/11/2005, 19h49
  5. []Augmenter la taille de la pile des appels ?
    Par oncle ervil dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/05/2005, 09h29

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