2017-01-05 11 views
-1

また、正しいものをダンプしていますが、それらは望ましくないものの最後にあります。mysqldumpは望ましくないシステムテーブルをダンプしています

ダンプのような「システム」テーブルの束が含まれます。

"C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe" -u [user]-p [password] --databases "my-db-name" > dump.sql 

私がされていない。このように、私はダンプを行うには、rootユーザーを使用しています

​​3210

を関連する情報を見つけることができるので、主にmysqldumpcolumn_statsをキーワードとして使用しました。

+0

'--databases'パラメータなしで実行しようとしましたか? –

+0

あなたが言及しているシステムテーブルはmysqlデータベースに属しています。意図的に 'mysql'データベースを' --databases'パラメータの引数に含めますか? – jwatkins

+0

@ jwatkinsいいえ、私はしません。私は '--databases my-schema-name'を使います。私はすべてのスキーマをエクスポートしたくないので、それを行う方法だと思った。 –

答えて

2

最後に私はここで何が間違っているのか分かりました。パラメータ-pの後に空白がある場合、プロンプト "Enter password:"でパスワードを入力することを意味し、[password]はデータベース名として解釈されます。パスワードのような名前のデータベースがないので、すべてがダンプされます。ドキュメントから:

--password [=パスワード]、-p [パスワード]

サーバーに接続するときに使用するパスワード。 短いオプション形式(-p)を使用する場合は、オプションとパスワードの間にスペースを入れることはできません。コマンドラインで --passwordまたは-pオプションの後のパスワード値を省略すると、mysqldumpはパスワードを要求します。

だから、あなたのコマンドは次のようになります。

"C:\ WAMP binに\ \ mysqlの\ mysql5.6.12 \ビン\のmysqldump.exe" -u [ユーザー] -ppassword「私-DB

dump.sql -name」>(ここ-pとパスワードの間には空白ではないことに注意)、

またはこのような:

"C:\ WAMP binに\ \ mysqlの\ mysql5.6.12 \ビン\のmysqldump.exe" -u [ユーザー] -p

dump.sql "私の-DB名">(ここであなたをEnterを押した後にキーボードからパスワードを入力してください)。

+0

それはそれでした!どうもありがとうございます!私は実際にパスワードの再入力で問題を抱えていましたが、解決策を探すときにはうまくいかなかったようです。あなたは頭の爪に当たった。それは、これが私のパスワードが何であったかを伝えることのほんの一種です。ええ、私には恥です。 –

+0

それは非常に微妙なものでした。良いキャッチ、@マイケル - O! – jwatkins

1

あなたがすべて言及しているテーブルは、システムデータベースであるmysqlデータベースに属しています。そのデータベースでmysqldumpを使用することは完全に容認されますが、データベースを復元するためにそのダンプを後で行うと、そのデータベースのバックアップの不完全バックアップが認証/許可/機能の問題を引き起こす可能性があります。

これらのテーブルは、通常のデータベース内には表示しないでください。それらが存在する場合は、間違いを事前に示しているので、これらのテーブルを削除するだけです。

単にそのダンプを実行し、根本的な問題を調査したくない場合は、存在するがダンプファイルから除外したいテーブルを無視するようにmysqldumpに指示することもできます。オプションの構文は、--ignore-table=db_name.tbl_nameです。複数のテーブルを除外するには、その引数を複数回繰り返すことができます。

関連する問題