Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2006, 11h34   #1
Membre régulier
 
Avatar de Ickou
 
Inscription : avril 2005
Messages : 174
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 174
Points : 78
Points : 78
Par défaut Changer la limite maximum de la taille d'un fichier

Salut à tous

Les données ne veulent plus rentrer dans ma table MySQL car le système de fichier est limité en taille sous linux ....

comment changer la limite de taille de fichier sous linux ?

J'utilise :
Red hat linux entreprise AS 4
MySQL 4.1.12

Je vous remercie

Emeric
Ickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 12h05   #2
Membre éclairé
 
Inscription : mai 2004
Messages : 376
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 376
Points : 343
Points : 343
Mais je ne comprend pas bien ... ton problème se situe au niveau de ton fichier ou au niveau de ton file system ?
getupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 12h16   #3
Membre régulier
 
Avatar de Ickou
 
Inscription : avril 2005
Messages : 174
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 174
Points : 78
Points : 78
En fait j'ai un message de MySQL qui me dit que ma "table is full" et j'ai vu ça dans le FAQ de MySQL :

Citation:
La taille maximum d'une table est limité par la version de MySQL, le système d'exploitation et en particulier le système de fichier. Dans la plupart des cas, ce sera la taille de votre disque dur. Beaucoup de système "Linux" imposent une limite de 2GO par fichier.

MySQL 3.23 (et au dessus) peut être compilé pour autoriser des tables limités seulement par le système de fichiers.
J'ai posté mon problème dans le forum de MySQL mais maintenant je pense que le problème vient de linux...... -->limite de taille de fichier ......

Que faire ?
Ickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 13h55   #4
Membre éclairé
 
Inscription : mai 2004
Messages : 376
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 376
Points : 343
Points : 343
Hum une limite de 2Go ... t'es en ext2 non ?
En ext3, la taille des fichiers est de l'ordre du Tera il me semble. Peut-être qu'en changeant le type de ton filesystem, tu arrivera à outre passer cette limite. il me semble que tu peux le faire sans perte de donnée avec tune2fs

Maintenant, si la limite est du à mysql, je ne peux pas t'aider.
getupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 14h03   #5
Membre éprouvé
 
Avatar de bster
 
Inscription : mai 2005
Messages : 373
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mai 2005
Messages : 373
Points : 469
Points : 469
mysql ne gere pas de tablespaces comme oracle ou postgresql donc je doute que ce soit de lui que viennet la limite.
__________________
Comité de lutte contre le langage SMS sur les forums
Veuillez écrire dans un langage compréhensible par les humains, merci.
bster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 14h16   #6
Membre régulier
 
Avatar de Ickou
 
Inscription : avril 2005
Messages : 174
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 174
Points : 78
Points : 78
Je suis en ext3....

J'ai peut-être tort et le problème vient de MySQL .....

Je sais pas
Ickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2006, 14h35   #7
Membre régulier
 
Avatar de Ickou
 
Inscription : avril 2005
Messages : 174
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 174
Points : 78
Points : 78
J'ai trouvé la solution sur le site de MySQL ...
En fait ma table est bloqué à 4Go avec 2 Go d'index....
Lors de la creation de la table, il faut que je remplisse la variable MAX_ROWS.....
En Ext2, la table ne peut pas dépasser 2Go... par contre en Ext3, une table est bloqué à 4Go à moins de changer la variable MAX_ROWS lors de la creation de la table .....

je suis content , je vais pouvoir continuer .....

@ bientôt

Emeric

Citation:
#

AVG_ROW_LENGTH

La taille moyenne approchée des lignes de votre table. Vous ne devez fournir cette valeur que pour les tables à taille de ligne variable, de très grande taille.

Lorsque vous créer une table MyISAM, MySQL utilise le produit des options MAX_ROWS et AVG_ROW_LENGTH pour décider de la taille du résultat. Si vous ne spécifiez aucune option, la taille maximale de la table sera de 4 Go (ou 2 Go si votre système d'exploitation ne supporte que les tables de 2 Go). Ceci sert à conserver la taille des pointeurs d'index petite, et rapide, si nous n'avez pas besoin de gros fichiers. Si vous voulez que vos tables dépassent 4 Go de taille, et que vous voulez garder les tables petites taille un peu plus lentes et grosses que nécessaire, vous pouvez augmenter la taille du pointeur d'index en modifiant la variable système globale myisam_data_pointer_size, qui a été ajoutée en MySQL 4.1.2. See Section 5.2.3, « Variables serveur système ».
Citation:
#

myisam_data_pointer_size

La taille par défaut du pointeur à utiliser avec CREATE TABLE pour les tables MyISAM lorsque qu'aucune option MAX_ROWS n'est spécifiée. Cette variable ne peut pas être inférieure à 2 ni supérieure à 8. La valeur par défaut est de 4. Cette variable a été ajoutée en MySQL 4.1.2. See Section A.2.11, « Erreur The table is full ».
Citation:
A.2.11. Erreur The table is full

Il y a différents cas où vous pouvez obtenir cette erreur :

*

Vous utilisez une ancienne version de MySQL (avant 3.23.0) quand une table temporaire en mémoire devient plus grande que tmp_table_size octets. Pour éviter ce problème, vous pouvez utiliser l'option -O tmp_table_size=# pour faire augmenter la taille des tables temporaires à mysqld ou utiliser l'option SQL BIG_TABLES avant d'exécuter la requête qui pose problème. See Section 13.5.2.8, « Syntaxe de SET ».

Vous pouvez aussi démarrer mysqld avec l'option --big-tables. Cela revient à utiliser BIG_TABLES pour toutes les requêtes.

Dans la version 3.23 de MySQL, les tables temporaires en mémoire seront automatiquement changées en tables physique MyISAM après qu'elles n'aient dépassé tmp_table_size.
*

Vous utilisez des tables InnoDB et avez dépassé leur taille. Dans ce cas, la solution est d'augmenter les tailles des tables. See Section 15.8, « Ajouter et retirer des données et des logs InnoDB ».
*

Vous utilisez des tables ISAM ou MyISAM sur un système d'exploitation qui ne supporte pas les fichiers de plus de 2G et vous avez atteint cette limite dans le fichier de données ou d'index. See Section 5.2.3, « Variables serveur système ».
*

Vous utilisez des tables MyISAM et la taille des données ou de l'index est plus grande que celle que MySQL a alloué aux pointeurs. (Si vous ne spécifiez pas MAX_ROWS à CREATE TABLE MySQL n'allouera que des pointeurs supportant 4G de données).

Vous pouvez obtenir la taille maximale des données / index en faisant :

SHOW TABLE STATUS FROM database LIKE 'nom_de_table';

or using myisamchk -dv database/nom_de_table.

Si le problème vient de là, vous pouvez le corriger en faisant quelque chose se rapprochant de :

ALTER TABLE nom_de_table MAX_ROWS=1000000000 AVG_ROW_LENGTH=nnn;

Vous n'avez besoin de spécifier AVG_ROW_LENGTH que pour les tables avec des champs BLOB/TEXT car dans ce cas, MySQL ne peut optimiser l'espace requis en se basant uniquement sur le nombre de lignes.
Ickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h07.


 
 
 
 
Partenaires

Hébergement Web