:: DEVELOPER ZONE
Cette section décrit ce que vous pouvez faire lors que votre espace de tables
InnoDB n'a plus d'espace, ou que vous voulez changer la taille des fichiers de logs.
Depuis la version 3.23.50 et 4.0.2, le moyen le plus facile pour augmenter
la taille de l'espace de tables InnoDB est de le configurer immédiatement
comme auto-croissant. Spécifiez l'attribut autoextend pour le dernier fichier
de données dans la définition de l'espace de table. InnoDB va augmenter la taille
du fichier automatiquement de 8 Mo dès qu'il n'a plus d'espace dans le fichier.
Alternativement, vous pouvez augmenter la taille de votre espace de tables
en ajoutant un autre fichier de données. Pour cela, vous devez éteindre le
serveur MySQL, éditer le fichier my.cnf pour ajouter votre nouveau fichier
de données à la fin de la ligne innodb_data_file_path, et relancer le serveur
MySQL.
Si votre dernier fichier a déjà été configuré avec le mot-clé autoextend,
la procédure d'édition du fichier my.cnf doit prendre en compte la taille
que le fichier occupe actuellement. Vous devez lire la taille du fichier, l'arrondir
au megaoctet inférieur le plus proche (1024 * 1024 octets), et spécifier la taille arrondie
dans la ligne d'options innodb_data_file_path. Puis, vous pouvez ajouter
un autre fichier de données. N'oubliez pas que seul le dernier fichier de données
de la ligne innodb_data_file_path peut être spécifié comme auto-croissant.
Par exemple, supposons que l'espace de tables dispose juste d'un fichier de données
auto-croissant, appelé ibdata1 :
innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata1:10M:autoextend
Supposons qu'au cours du temps, le fichier a atteind la taille de 988 Mo. Ci-dessous, la ligne de configuration va ajouter un autre fichier auto-croissant après celui qui existe.
innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend
Lorsque vous ajoutez un nouveau fichier de données, assurez vous qu'il n'existe
pas, pour que InnoDB puisse le créer et l'initialiser, lorsque vous
redémarrerez le serveur.
Actuellement, vous ne pouvez pas supprimer de fichiers de données. Pour réduire la taille de votre espace de table, utilisez cette procédure :
Utilisez mysqldump pour exportez toutes vos tables InnoDB.
Stoppez le serveur.
Supprimez tous les fichiers de tables existants.
Configurez un nouvel espace de table.
Relancez le serveur.
Importez les fichiers de vos tables.
Si vous voulez changer le nombre ou la taille de vos fichiers de log InnoDB,
vous devez éteindre le serveur MYSQL et vous assurer qu'il s'est arrêté sans
erreur. Puis, copiez les anciens fichiers de log dans une archive, car si
vous rencontrez un problème ultérieurement, vous en aurez besoin pour
restaurer votre base. Effacer les anciens fichiers de log du dossier de logs,
éditez le fichier my.cnf, et redémarrez le serveur MySQL. InnoDB
vous indiquera au démarrage qu'il va créer de nouveaux fichiers de log.
© 1995-2005 MySQL AB. All rights reserved.
