web-dev-qa-db-ja.com

frmファイルからMySQLテーブルを回復する

私は必死です、そして何か親切な魂が私を救うことができることを願っています!完全にクラッシュしたサーバーの復元を扱っています。 MySQLを使用する1つのドメインに問題があることを除いて、すべてがバックアップされます(サーバー上の他のドメインはMySQLを使用しません)。サーバーはWindows2008で、Plesk9.5を実行しています。

MySQLデータベースは復元されましたが(正確にはわかりません)、8つのテーブルのうち2つしか使用できません(Webサイトは他の6つに接続できず、PHPMyAdminからは表示されません)。

私はサーバー管理者ではなく、フロントエンドWeb開発者です。サーバー管理者は、6つのテーブルが「ロック」されており、アクセスできないと言っています。データにアクセスできるようにする方法を見つけたいと思っています。

基本的に、データはクラッシュしたサーバーからコピーされています。古いCドライブにアクセスできます。そのCドライブで、MySQLデータベースのデータファイルが再構築されたサーバーにコピーされています。したがって、再構築されたサーバーには、次のフォルダーがあります。

C:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\Data

このフォルダには、次のフォルダ/ファイルがあります。

/my_database
    /tblnews.MYD
    /tblpage.MYD
    /tblhospice.frm
    /tblevent.frm
    /tblpage.frm
    /tblnews.frm
    /tblgallery.frm
    /tbleventcategory.frm
    /tblhospiceregion.frm
    /tbleventregion.frm
    /tblnews.MYI
    /tblpage.MYI
    /db.opt

/mysql
    / *loads of frm, MYD and MYI files, such as 'columns_priv.frm', 'func.frm' etc.

/ib_logfile0
/ib_logfile1
/ibdata1
/my.ini
/Server5797.err
/Server5797.pid

動作している2つのテーブルは、tblnewsとtblpageです。これらはMYIファイルとMYDファイルも持っているものです。動作しない6つのテーブルは、.frmファイルしかないテーブルです。

ここのどこからでもデータを取得して、アクセスできない6つのテーブルを復元する方法はありますか?ローカルPCで作業用コピーを取得し、データをスクリプト化する方法はありますか?

誰もがこれについて与えることができるどんな助けにも感謝します。本当に、本当に感謝しています。

2
Dan

.frmファイルとibdata1ファイルだけでデータを回復できることは確かに確認できます。ここを参照してください: http://www.nerdydork.com/restoring-mysql-innodb-files-on-windows.html 。私の解決策はもう少し難しく、構成設定などはすべて別の場所にありましたが、一般的にその解決策は私のために機能しました...そして私の命も救いました;)

2
Dan

.frmファイルは単なるテーブル定義であり、データが含まれていないため、それらからデータを回復することはできません。不足している.MYDファイルを入手して、そこから.MYIファイルを回復する必要があります。

.MYDファイルまたは適切なバックアップ/ダンプがないと、データがありません。

1
user9517