web-dev-qa-db-ja.com

common_schemaでのmysqldumpエラー

サーバーバージョン5.5.44 MySQL Community Server (GPL)でcommon_schemaのバックアップを取ろうとしました。

mysqldump -u root -p common_schema > common_schema_bkup.sql

次のエラーが発生しました:

「mysqldump:Gotエラー:1356:ビュー 'common_schema._bare_grantee_grants'が無効なテーブルまたは列または関数を参照しているか、ビューの定義者/呼び出し者がLOCK TABLESを使用するときにそれらを使用する権限がありません」

どうすればこれを修正できますか?

4
tesla747

おそらく -single-transaction を使用する必要があります

mysqldump --single-transaction -u root -p common_schema > common_schema_bkup.sql

どうして ? mysqldumpのMySQLドキュメントによると、次の権限が必要です。

--single-transactionオプションが使用されていない場合、mysqldumpには、少なくともダンプテーブルのSELECT権限、ダンプビューのSHOW VIEW、ダンプトリガーのTRIGGER、およびLOCK TABLESが必要です。オプションの説明に記載されているように、特定のオプションには他の特権が必要な場合があります。

ダンプファイルを再ロードするには、CREATEステートメントを手動で発行して、ダンプされた各オブジェクトを作成するために必要な同じ特権が必要です。

common_schemaは、1つのテーブルと27のビュー で構成されていることに注意してください。 -single-transaction でダンプするかどうかに関係なく、それらをダンプできるようにするために必要な権限が必要です。 =。これには、 CREATE VIEW および SHOW VIEW の付与が含まれる場合があります。

UPDATE 2015-07-24 23:09 EST

問題はmysqldump自体にあると思います。多くのメタコマンドは、論理的に表現できるレンダリング出力を妨害する可能性のある定義のダンプの周りに書き込まれます。 場合によっては、common_schemaのmysqldumpを再インポートできませんでした

可能性が最も高いのは、common_schemaを最初からインポートすることです。 common_schemaドキュメントから直接、インストールのトラブルシューティングについて説明しています

インストールは単なるインポート作業であるため、サーバーでスキーマ生成を実行できない場合にのみ問題が発生するはずです。

  • 5.0 MySQLサーバーで実行していますか?このバージョンはサポートされていません。
  • インストールプロセス中にエラーが報告されましたか?
  • インストール中のcommon_schemaの最後のメッセージは何ですか?
  • SELECT * FROM common_schema.statusの出力は何ですか?

一意のメタデータはcommon_schemaにないため、再読み込みできない可能性があるmysqldumpでバックアップするリスクを冒して、メタデータを再インポートできるはずです。

2
RolandoMySQLDBA

何らかの理由で、ビューの1つが失われています。 common_schemaを再インストールする必要があります。または、適切なアクセス権をすべて持っていない可能性があります。その場合は、自分の権利を確認してください。

0