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 atteint 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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.