サーバーバージョン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を使用するときにそれらを使用する権限がありません」
どうすればこれを修正できますか?
おそらく -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
の付与が含まれる場合があります。
問題はmysqldump自体にあると思います。多くのメタコマンドは、論理的に表現できるレンダリング出力を妨害する可能性のある定義のダンプの周りに書き込まれます。 場合によっては、common_schemaのmysqldumpを再インポートできませんでした 。
可能性が最も高いのは、common_schemaを最初からインポートすることです。 common_schemaドキュメントから直接、インストールのトラブルシューティングについて説明しています :
インストールは単なるインポート作業であるため、サーバーでスキーマ生成を実行できない場合にのみ問題が発生するはずです。
- 5.0 MySQLサーバーで実行していますか?このバージョンはサポートされていません。
- インストールプロセス中にエラーが報告されましたか?
- インストール中のcommon_schemaの最後のメッセージは何ですか?
- SELECT * FROM common_schema.statusの出力は何ですか?
一意のメタデータはcommon_schemaにないため、再読み込みできない可能性があるmysqldumpでバックアップするリスクを冒して、メタデータを再インポートできるはずです。
何らかの理由で、ビューの1つが失われています。 common_schemaを再インストールする必要があります。または、適切なアクセス権をすべて持っていない可能性があります。その場合は、自分の権利を確認してください。