9

誰かが私を助けてくれることを願っています.stackoverflowで回復の答えの多くを調査しました。

mysql から data フォルダーをコピーして、新しい wamp 2.5 mysql/mysl5.6.17/data フォルダーに貼り付けるというミスを犯しました。

テーブルをクリックすると、「テーブルが存在しません」と表示されます。以下は、表示されているものを示しています

3688 [警告] InnoDB: テーブルの .frm ファイルは存在しますが、InnoDB の内部データ ディクショナリからテーブル craigmedia/wp_eg_grids を開くことができません。問題を解決する方法については、 http://dev.mysql.com/doc/refman/5.6/en/innodbトラブルシューティング.html を参照してください。

.frm ファイルを含むデータベース フォルダーがあります。

このリンクで説明されているように、テーブルを回復するために mysqlfrm を使用しようとしています: https://dba.stackexchange.com/questions/71596/restoring-mysql-tables-from-ibd-frm-and-mysqllogbin-files

ただし、情報を mysqlfrm に入れると、結果は次のようになります。

1.mysqlfrm --server=root@localhost --port=445 --user=root C:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.frm > wp_eg-grids.txt


Source on localhost: ...connected

ERROR: Cannot read wp_eg_grids.txt. You must have read privileges to the file or path and it must exist. Skipping this argument.
ERROR: Cannot read .frm file from >.frm.

ユーティリティの実行: 'mysqlfrm --server=root@localhost --port=445 --user=root C:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.frm > wp_eg-grids.txt'はリターン コード '1' で終了しましたが、エラー メッセージは標準エラーにストリーミングされませんでした。実行の出力を確認してください。

それから私はこれを試しました。

2. mysqlfrm --server=root@localhost:3306 c:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.frm --port=3307 --user=root

警告: コマンド ライン インターフェースでパスワードを使用すると、安全でない可能性があります。

Source on localhost: ...connected.
Spawning server with --user=root.
Starting the spawned server on port 3307 ...

The console has detected that the utility 'mysqlfrm' ended with an error code. You can get more information about the error by running the console command 'show last error'.

Execution of utility: 'mysqlfrm --server=root@localhost:3306 c:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.frm --port=3307 --user=root' ended with return code '1' and with the following error message:
Traceback <most recent call last>:

File "G:\ade\build\sb_0-16088143-1438774726.78\Python-2.7.6-windows-x86-64bit\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
File "scripts\mysqlfrm.py", line 422, in <module>
File ".\mysql\utilities\command\read_frm.py", line 439, in read_frm_files
File ".\mysql\utilities\command\read_frm.py", line 166, in _spawn_server
File ".\mysql\utilities\command\serverclone.py", line 180, in clone_server
File ".\mysql\utilities\command\tools.py", line 254, in get_mysqld_version

I0Error: [Errno 13] Permission denied: 'version_check'

現時点では、テストする 1 つの .frm にアクセスしようとしています。これは wp_eg_grids.frm であり、それを wp_eg_grids.txt にします。誰が私が間違っているのか、またはこれを解決する方法を知っていることに気付くことができますか?

4

2 に答える 2

5

同様の状況で私のために働いていたmysqlfrmに次の構文を使用してみてください。

mysqlfrm --server=root:password@localhost:3306 c:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.frm > c:/wamp/bin/mysql/mysql5.6.17/data/craigmedia/wp_eg_grids.txt --diagnostic --port=3307 -vvv --user=root

診断モードをオンにして、.frm ファイルをバイト単位で読み取り、ベストエフォート型の CREATE ステートメントを生成します。

于 2016-02-27T16:35:44.503 に答える