web-dev-qa-db-fra.com

Récupération de bases de données MySQL

Je devais réinstaller le serveur Wamp sur Windows et dans le processus, il a également réinstallé MySQL. Maintenant, lorsque je me connecte à phpmyadmin, je peux voir mes bases de données avec les tables répertoriées sur le panneau de navigation latérale gauche. Mais lorsque je clique sur les tables individuelles, il jette une erreur disant que la table n'existe pas. Parcourir à cet endroit C:\wamp\bin\mysql\mysql5.6.12\data, Je vois les dossiers avec les noms de base de données. Je vois aussi des fichiers se terminant par * .ibd. Les noms de fichiers sont les mêmes que les noms de table. Avec différentes bases de données, le contenu du dossier est différent. Certains ont des fichiers se terminant par * .ibd uniquement. Certains ont un mélange de * .ibd et * .frm. Il y a aussi un fichier * .OPT dans certains dossiers. Je ne sais pas grand chose du côté administrateur de MySQL. Je sais seulement suffisamment pour utiliser PHP== pour interagir avec des déclarations SQL simples. J'ai parcouru certains postes sur la manière de récupérer les bases de données. Mais la plupart de ce qui a été discuté qu'il n'apparaît pas soit directement liés à mon problème spécifique, soit au-delà de ma compréhension.

Existe-t-il un moyen assez simple de restaurer les bases de données faciles à suivre pour quiconque? Ou nécessite-t-il une expérience antérieure avec la récupération de bases de données?
Veuillez suggérer quelques options.

1
user1720897

Quelques possibilités, pas sûres si l'un d'entre eux vous aidera

Récupération de force

[mysqld]
innodb_force_recovery = 4

Si vous exécutez la récupération de la force, votre base de données sera toujours dans un état incohérent. Cela vous permettra cependant de faire une sauvegarde des données que vous avez accédé à.

Habituellement, la plupart des données obtenues de cette manière sont intactes. La corruption grave pourrait provoquer une sélection de Select * des déclarations de Name TBL_NAME ou des opérations d'arrière-plan InnoDB pour se bloquer ou affirmer, ou même causer une récupération à l'avance d'InnoDB. Dans de tels cas, utilisez l'option Innodb_Force_Recovery pour forcer le moteur de stockage InnoDB à démarrer tout en empêchant les opérations d'arrière-plan de l'exécution, de sorte que vous puissiez jeter vos tables.

forcer la récupération innodb

Autorisations

Assurez-vous que l'utilisateur du service MySQL a des autorisations complètes sur C:\wamp\bin\mysql\mysql5.6.12\données

enter image description here

Le service qui exécute MySQL a besoin d'un contrôle total pour le répertoire dans lequel vous stockez vos fichiers de données.

Mise à jour

erreur FS

Problèmes de lecture du répertoire C:\Wamp\Bin\mysql\mysql5.6.12\Data Data?

Si vous allez à Control Panels-> Outils d'administration-> Visionneuse d'événements, alors Windows Logs -> Système, vous trouverez peut-être plus d'informations sur les problèmes de disque

Une solution possible serait de copier votre répertoire de données sur un autre lecteur et/ou un autre répertoire.

Arrêter mysql

Copiez le contenu du répertoire de données sur le nouveau lecteur et/ou le répertoire.

Ouvrez le fichier C:\wamp\bin\mysql\mysql5.6.12\my.cnf et modifiez l'option DataDir sous MySQLD

[mysqld]

datadir=D:\some\other\directory

Commencer mysql

2
Craig Efrein