Méthodes d'analyse des fichiers MYD, MYI et FRM
P粉604848588
2023-08-25 16:14:30
<p>J'ai lu plusieurs messages sur ce forum et ailleurs, mais je n'arrive toujours pas à lire certains fichiers MYD/MYI/FRM contenant des données que je souhaite importer dans SQL Server. </p>
<ul>
<li>J'ai arrêté le service MySQL chez le client et copié tous les fichiers (de la même manière que nous l'avons fait sur SQL Server). ≪/li>
<li>J'ai installé les derniers connecteurs MySQL ODBC, MySQL Engine et MySQL Workbench sur mon PC Windows 10. Le moteur est en cours d'exécution et le connecteur ODBC a été configuré avec le nom d'utilisateur et le mot de passe. À l’aide de Workbench, je me suis connecté avec succès. ≪/li>
<li>J'ai créé une base de données appelée MyTest, qui a créé un dossier C:ProgramDataMySQLMySQL Server 8.0Datamytest. ≪/li>
<li>J'ai arrêté le service MySQL et copié MyData.MYD, MyData.MYI et MyData.FRM dans le dossier mytest. ≪/li>
<li>J'ai redémarré le service MySQL. ≪/li>
</ul>
<p>Cependant, si j'exécute la requête "Sélectionner * depuis mytest.MyData" dans Workbench ou en utilisant le client de ligne de commande MySQL 8.0, il continuera à indiquer que la table mytest.MyData n'existe pas. Maintenant, j'ai lu qu'il pourrait être approprié d'exécuter la commande CHOWN, mais je ne sais pas si la syntaxe serait différente dans un système Windows et si cette commande pourrait être exécutée directement à partir de l'invite de commande. </p>
<p>Toute aide serait grandement appréciée. Merci! </p>
Les anciennes versions de MySQL vous permettaient de le faire dans les tables MyISAM, mais MySQL 8.0 a introduit une toute nouvelle implémentation de « dictionnaire de données », qui est une base de données de métadonnées maintenue en interne et a une préférence pour InnoDB sur MyISAM. Par conséquent, je pense que la manière simple de déplacer des fichiers ne fonctionne plus aussi bien qu’avant. Pour déplacer une table d'une instance à une autre, vous devez effectuer correctement les étapes d'exportation et d'importation.
Pour InnoDB, vous pouvez utiliser des Tablespaces transportables. Au moins de cette façon, vous n'avez pas besoin de procéder à une importation complète des données, mais cela nécessite quelques étapes supplémentaires que la simple copie des fichiers.
P.S. : Je n'ai pas utilisé MyISAM depuis des années. Je préfère que ma base de données prenne en charge les propriétés ACID, et MyISAM ne prend en charge aucune propriété ACID.