最近私のWindowsマシンに問題があり、セーフモードにしかログインできませんでした。そのため、ApacheやMySQLを稼働させることができませんでした。私ができる唯一のことは、MySQLデータディレクトリのバックアップを取ることでした。データファイルからMySQLデータベースを復元する(WindowsからUnixへ)
マシンにWindowsを再インストールした後、代わりの(より良い)開発環境を試してみたいと思い、バゲントを見つけました。私はVirtualBoxを使ってこの設定を手に入れ、Ubuntuをインストールしました。データディレクトリのバックアップで
は、私が持っている:各データベースを表す
- 個々のフォルダ
- 以下のファイル:
auto.cnf
、ib_logfile0
、ib_logfile1
、ibdata1
データベースをI MyISAM
とInnoDB
のデータベースの組み合わせを含んでいます。
私がしたいことは、データベースをMySQLに復元することです。私はUnixコマンドにあまり慣れていないので、FileZillaを使ってVMにSSHを適用しました。私はその後、Ubuntuでデータディレクトリの場所を見つけました。これは/var/lib/mysql
です。
まず、このディレクトリのアクセス権を変更して、ファイルをそのファイルに転送できるようにしなければなりませんでした。
私はmysqlサービスを停止して、いずれかのフォルダにコピーしました。その後、mysqlを再起動しました。この後、私はphpmyadminをオープンしました。私が上にコピーしたデータベースがリストされましたが、それをクリックすると1つのテーブルしか表示されませんでした(4でなければなりません)。この表をクリックしてデータを参照すると、エラー#1033 - incorrect information in file 'product.frm'
が表示されます。
また、他の3つのテーブルが左側の列に表示されていましたが、これらをクリックするとエラー#1146 - Table 'category' doesn't exist
が表示されました。
また、ib
ファイルをコピーしようとしましたが、この後にmysqlサービスが起動しませんでした。
問題は何ですか?ファイルがWindowsから生成されたという事実とは関係がありますか?または、プロセスを間違って実行していますか?
ありがとうございます、私はあなたの助言に従って、それだけでした。 WindowsマシンにMySQLサーバーをインストールし、データディレクトリのバックアップを新しいデータディレクトリにコピーした後、MySQL Workbenchを使用してすべてのデータベースのSQLバックアップを生成しました。 その後、このバックアップファイルをMySQL Workbenchを使用してVMにインポートし直しました。 この全体のプロセスは簡単ではありませんでしたが、途中でいくつかの問題がありましたが、最後にソートされました:) – GSTAR