<p>このフォーラムや他の場所でいくつかの投稿を読みましたが、SQL Server にインポートしたいデータを含む一部の MYD/MYI/FRM ファイルを読み取ることができません。 </p>
<li>クライアントの場所で MySQL サービスを停止し、すべてのファイルをコピーしました (SQL Server で行ったのと同じ方法)。 </li>
<li>最新の MySQL ODBC コネクタ、MySQL エンジン、および MySQL Workbench を Windows 10 PC にインストールしました。エンジンは実行中であり、ODBC コネクタはユーザー名とパスワードで構成されています。 Workbench を使用すると、正常にログインできました。 </li>
<li>MyTest というデータベースを作成し、C:\ProgramData\MySQL\MySQL Server 8.0\Data\mytest フォルダーを作成しました。 </li>
<li>MySQL サービスを停止し、MyData.MYD、MyData.MYI、および MyData.FRM を mytest フォルダーにコピーしました。 </li>
<li>MySQL サービスを再起動しました。 </li>
</ul>
<p>ただし、Workbench または MySQL 8.0 コマンド ライン クライアントを使用して「Select * from mytest.MyData」クエリを実行すると、テーブル mytest.MyData が存在しないというメッセージが表示され続けます。 CHOWN コマンドを実行すると適切である可能性があると読みましたが、Windows システムでは構文が異なるかどうか、またこのコマンドをコマンド プロンプトから直接実行できるかどうかはわかりません。 </p>
<p>ご協力いただければ幸いです。ありがとう! </p>
MySQL の古いバージョンでは、MyISAM テーブルでこれを行うことができましたが、MySQL 8.0 では新しい「データ ディクショナリ」実装が導入されました。これは内部的に維持されるメタデータ データベースであり、MyISAM よりも InnoDB が優先されます。したがって、ファイルを移動するカジュアルな方法は、以前ほどうまく機能しなくなったと私は考えています。テーブルをあるインスタンスから別のインスタンスに移動するには、エクスポートおよびインポートの手順を正しく実行する必要があります。
InnoDB の場合、トランスポータブル テーブルスペースを使用できます。少なくともこの方法では、完全なデータのインポートを行う必要はありませんが、ファイルをコピーするだけではなく、さらにいくつかの手順が必要になります。
追伸: 私はもう何年も MyISAM を使っていません。私はデータベースが ACID プロパティをサポートすることを好みますが、MyISAM は ACID プロパティをサポートしません。