Aujourd'hui, MySQL est l'une des solutions les plus populaires parmi les systèmes de gestion de bases de données de petite et moyenne taille. L'un des avantages de MySQL est la possibilité de travailler avec des tables de différents types. L'un d'eux est MyISAM. De telles tables sont idéales pour stocker des données fréquemment demandées, mais si elles échouent pendant le processus de modification, elles peuvent être facilement endommagées. Il arrive donc souvent que vous ayez besoin de restaurer une table de type MyISAM.
Nécessaire
- - les informations d'identification root sur la machine cible;
- - package installé d'utilitaires d'administration de serveur MySQL.
Instructions
Étape 1
Démarrez une session avec les informations d'identification de l'utilisateur root sur une machine avec un serveur MySQL fonctionnel exécutant une base de données qui aurait des tables corrompues. Si vous pouvez travailler directement avec l'ordinateur cible, connectez-vous à une console texte ou exécutez un émulateur de terminal en tant que root. Si vous disposez d'un accès SSH à distance, utilisez un programme client approprié pour établir la connexion.
Étape 2
Arrêtez le serveur de base de données MySQL sur la machine cible. Exécutez la commande service mysqld stop. Attendez la fin du processus d'arrêt (cela sera indiqué par un message de diagnostic).
Étape 3
Créez une copie de sauvegarde des fichiers de table de la base de données, qui sera utilisée pour les travaux ultérieurs. Dans ce cas, il est pratique d'utiliser le gestionnaire de fichiers. Accédez au dossier contenant les fichiers de la table. Il porte un nom identique au nom de la base de données et se situe dans le répertoire db, qui se trouve dans le répertoire racine du serveur (adressé par la variable chroot du fichier de configuration my.cnf). Copiez tous les fichiers avec les extensions MYD et MYI du dossier actuel vers un répertoire temporaire.
Étape 4
Vérifiez qu'une ou plusieurs tables de base de données ne sont pas endommagées. Dans le répertoire courant, exécutez la commande myisamchk avec l'option -c (ou aucune option du tout) pour une analyse normale. Utilisez l'option -m pour des tests minutieux et l'option -e pour des tests très minutieux. En dernier paramètre, spécifiez le nom ou le masque des noms des fichiers à traiter. Par exemple: myisamchk -c test_table. MYImyisamchk *. MYI
Étape 5
Récupérez la ou les tables où le dommage a été constaté. Exécutez la commande myisamchk avec l'option -r pour une récupération normale ou l'option -o pour une récupération douce. En dernier paramètre, comme à l'étape précédente, passez le nom ou le masque de nom des tables cibles. Par exemple: myisamchk -o table_test. MYI
Étape 6
Démarrez le serveur MySQL. Exécutez la commande service mysqld start.
Étape 7
Terminez votre session. Entrez la commande exit et appuyez sur Entrée.