Lorsque le fichier de données MySQL est accidentellement supprimé, la méthode de récupération dépend de la situation : lorsque le journal binaire est activé, les instructions SQL peuvent être récupérées via la commande mysqlbinlog. Si une sauvegarde existe, vous pouvez utiliser des outils de récupération pour restaurer vos fichiers. S'il n'y a pas de sauvegarde, vous pouvez essayer d'utiliser le dictionnaire de données pour restaurer le fichier : interrogez la table innodb_table_stats pour obtenir les métadonnées. Copie l'en-tête du fichier .ibd supprimé et écrase l'en-tête du fichier .ibd du tablespace. Redémarrez le serveur MySQL pour recharger le fichier.
Comment récupérer des fichiers de données supprimés dans MySQL
Lorsque vous supprimez accidentellement des fichiers de données MySQL importants, il est crucial de les récupérer. Ce tutoriel vous guidera étape par étape tout au long du processus de récupération.
Étape 1 : Vérifiez les journaux binaires
Si vous avez activé les journaux binaires avant la suppression, vous pouvez récupérer l'instruction SQL des données supprimées à l'aide de la commande suivante :
<code>mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/binary-log-file | grep 'table_name'</code>
Étape 2 : Utilisez l'outil de récupération
Si la journalisation binaire n'est pas activée, vous pouvez utiliser des outils de récupération tels que MySQL Enterprise Backup ou Percona XtraBackup pour restaurer des fichiers à partir de sauvegardes. Assurez-vous de disposer de sauvegardes d'une granularité suffisante pour que les fichiers concernés puissent être restaurés.
Étape 3 : Récupérer des fichiers à l'aide du dictionnaire de données
Si la méthode ci-dessus n'est pas réalisable, vous pouvez essayer d'utiliser le dictionnaire de données pour récupérer des fichiers. Cette méthode s'appuie sur la structure de la table et sur les données encore existantes dans la table du dictionnaire de données.
<code>mysql -u <username> -p USE information_schema;</code>
innodb_table_stats
pour obtenir les métadonnées des fichiers supprimés : innodb_table_stats
表以获取已删除文件的元数据:<code>SELECT table_name, data_file_pos FROM innodb_table_stats WHERE table_id = <table_id>;</code>
.ibd
文件的位置。.ibd
文件的头部,其中包含文件元数据。.ibd
文件。dd
命令将 .ibd
文件的头部复制到表空间 .ibd
文件中:<code>dd if=<deleted_ibd_file_path> of=<table_space_ibd_file_path> bs=512 count=2048</code>
.ibd
.ibd
contenant les données supprimées. Copiez l'en-tête du fichier .ibd
, qui contient les métadonnées du fichier.
.ibd
contenant les données supprimées. dd
pour copier l'en-tête du fichier .ibd
dans le fichier .ibd
de l'espace table : .ibd
du tablespace. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!