94

誤ってハード ドライブをフォーマットして Windows を再インストールし、MySQL サーバーにある重要なデータベースをバックアップするのを忘れていました。現在、いくつかのソフトウェアを使用してファイルをサルベージしようとしていますが、何を探すべきかわかりません。

ファイルが保存されているパスは何ですか? ファイルの名前は何ですか (どの命名規則またはファイル拡張子を探す必要がありますか)?

私のサーバーは MyISAM を使用していたと思いますが、100% 確実ではありません。

4

13 に答える 13

99

ファイルをチェックmy.iniして、データ フォルダの場所を確認できます。

通常、フォルダー {mysqlDirectory}/data があります。

MySQL データ ストレージ:

Commands.frm
Commands.myd
Commands.myi

*.frm ファイルにはテーブル定義が含まれています。*.myi ファイルは MyISAM インデックス ファイルです。*.myd ファイルには、テーブル データが含まれています。

編集/更新。質問に示されている関心のために、コメントにも記載されている詳細情報があります。

Windows 8.1 では、MySQL データベースは (デフォルトで) 次の場所に保存されます。C:\ProgramData\MySQL\MySQL Server 5.6\data

C:\ProgramData フォルダーは隠しフォルダーなので、そこにアクセスするには Windows エクスプローラーのアドレスに入力する必要があります。そのデータ フォルダでは、データベースの名前は/{database_name_folder}/{database_tables_and_files}.

例えば、

C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm
C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd 

このコンテンツについて@marty-mcgeeに感謝します

于 2012-10-18T05:27:16.567 に答える
15

I have a default my-default.ini file in the root and there is one server configuration:

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

So that does not tell me the path.

The best way is to connect to the database and run this query:

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;

Here's the result of that:

basedir                     C:\Program Files (x86)\MySQL\MySQL Server 5.6\
character_sets_dir          C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\charsets\

datadir                     C:\ProgramData\MySQL\MySQL Server 5.6\Data\
innodb_data_home_dir    
innodb_log_group_home_dir   .\
lc_messages_dir             C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\

plugin_dir                  C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\plugin\

slave_load_tmpdir           C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp
tmpdir                      C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp

If you want to see all the parameters configured for the database execute this:

SHOW VARIABLES;

The storage_engine variable will tell you if you're using InnoDb or MyISAM.

于 2015-02-12T04:05:40.280 に答える
6

MYSQL 8.0:

ディスクを検索my.iniすると、次のフォルダーが見つかります。

C:\ProgramData\MySQL\MySQL Server 8.0
ではProgramDataなくProgram file

データはサブフォルダーにあります: \Data

それぞれdatabaseがフォルダーを所有し、それぞれtableがファイルであり、それぞれindexが 1+ ファイルです。

サンプル データベースは次のsakilaとおりです。 ここに画像の説明を入力

于 2018-09-07T14:21:29.083 に答える
4

ローカル パーティションで *.myi ファイルの Windows 検索を実行するだけです。限目。

私が思ったように、それらは、他のほとんどのデータベース マネージャーのように適切なデータのみのフォルダーを使用するのではなく、プログラム ファイル フォルダー内に配置されていました。

my.ini ファイルを検索し、エディターで開き、パス文字列を検索し、構成ファイルを変更しないように (!) 確認してから、2 回目の検索を行うのはなぜですか? タッチタイピングを練習する以外に、追加の利点の断片なしで複雑になります。

于 2013-10-17T15:01:01.927 に答える
3

通常は以下に指定したフォルダにありますが、ProgramData は通常隠しフォルダになっています。表示するには、コントロール パネルで「フォルダ」を検索し、詳細設定で [隠しファイルを表示] にチェックを入れ、[適用] をクリックします。C:/ProgramData/MySQL/MySQL Server 5.5/Data/

于 2016-03-01T08:25:19.340 に答える
3

それはあなたの {install path}\data である必要があります。C:\apps\wamp\bin\mysql\mysql5.5.8\data\{databasename}

于 2012-10-18T05:29:28.997 に答える
1

MySQL
では、".myd" はデータベース自体で、
".tmd" は一時ファイルです。
しかし、時々「.sql」も見かけます。

設定やエクスポート方法によって異なります。

于 2015-09-07T09:44:01.330 に答える
0

1) MySQL インストール フォルダに保存されている my.ini を見つけます。

例えば、

C:\Program Files\MySQL\MySQL Server 5.1\my.ini

2) お気に入りのテキスト エディタで「my.ini」を開きます。

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"

#Path to the database root/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data

「datadir」を見つけます。これは、MySQL が Windows でデータを保存した場所です。

于 2012-10-18T05:30:10.690 に答える