Créer des tables InnoDB
<<<
Ajouter et retirer des données et des logs InnoDB Sauver et restaurer une base InnoDB
>>>

16 Tables InnoDB
 Manuel de Référence MySQL 4.1 : Version Française

Présentation des tables InnoDB
Informations de contact InnoDB
InnoDB avec MySQL version 3.23
Configuration InnoDB
Options de démarrage InnoDB
Créer des bases InnoDB
Créer des tables InnoDB
->Ajouter et retirer des données et des logs InnoDB
Sauver et restaurer une base InnoDB
Transférer une base de données InnoDB vers une autre machine
Modèle de transactions et verrouillage InnoDB
Conseils pour l'amélioration des performances InnoDB
Implémentation du multi-versionnage
Structures de tables et d'index
Gestion de l'espace fichiers et des entrées/sorties disque
Gestion des erreurs InnoDB
Restrictions sur les tables InnoDB
Résolution de problèmes avec InnoDB

16.8 Ajouter et retirer des données et des logs InnoDB

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.

<< Ajouter et retirer des données et des logs InnoDB >>
Créer des tables InnoDB Tables InnoDB Sauver et restaurer une base InnoDB