13 votes

Comment annuler le DROP Table ?

J'ai accidentellement abandonné toutes les tables. Puis-je les restaurer ? Je n'ai pas la copie de sauvegarde.

0voto

S'il s'agit d'une table MyISAM, il vous suffit de supprimer les fichiers de la table dans /var/log/mysql ou dans tout autre répertoire de données. Vous pouvez utiliser ext3grep pour cela, par exemple.

-1voto

Joel'-' Points 875

Si la journalisation binaire est activée, vous pouvez recréer une table si vous avez un schéma. Assurez-vous de créer le schéma lorsque la journalisation binaire est désactivée. Vous pouvez également ignorer la session. Ensuite, vous pouvez rejouer les binlogs jusqu'à la dernière déclaration, qui était l'abandon de la table elle-même.

Si ce n'est pas le cas, vous pouvez restaurer en utilisant un fichier de sauvegarde si vous en avez un. Si vous avez des fichiers csv, vous pouvez utiliser la méthode de chargement des données dans le fichier pour récupérer les données. Si vous récupérez à partir de mysqldump, vous pouvez envisager de restaurer une seule table à partir du fichier dump plutôt que de restaurer la base de données complète. Si la taille des données est trop importante, vous pouvez envisager de désactiver les clés avant le chargement, ce qui accélérera considérablement le processus de restauration.

À l'avenir, vous souhaiterez peut-être disposer d'un esclave différé, avec un retard de 10 à 24 heures par exemple. Vous pouvez créer un esclave retardé en utilisant la boîte à outils Percona (pt-slave-delay).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X