Confluence MySQL データベースの移行が原因で「content_procedure_for_denormalised_permissions は存在しません」エラーが発生する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

要約

mysqldump コマンドで Confluence MySQL データベースを別のサーバーに移行した後、Confluence が起動できなくなったり、ページの編集/更新ができなくなった。

環境

  • 7.11.0 移行
  • MySQL データベース

診断

次のエラーメッセージが atlassian-confluence.log に表示される

atlassian-confluence.log
ERROR [http-nio-8090-exec-3] [engine.jdbc.spi.SqlExceptionHelper] logExceptions PROCEDURE confluence.content_procedure_for_denormalised_permissions does not exist

以下の SQL で確認しても結果が出力されない

MySQL
SHOW PROCEDURE STATUS WHERE DB = '<target_DB_name>';

原因

Confluence 7.11.0 移行、コンテンツ非正規化機能を導入しています。これは、権限サービスを高速化してページの読み込み時間を短縮するための新機能です。

mysqldump デフォルトですべてのトリガーをバックアップしますが、エラーの原因となるストアド プロシージャ/ファンクションはバックアップしません

ソリューション

  1. 移行元の Confluence をシャットダウンします
  2. Confluence MySQL データベースダンプを --routines パラメータを使用して再生成します

    mysqldump コマンド
    mysqldump -p conf7111 --routines > conf71112.sql
    # OR
    mysqldump -p conf7111 -R > conf71112.sql
    (info) https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_routines
  3. 移行先の Confluence をシャットダウンします
  4. 今存在している移行先のデータベースをドロップ オフします
  5. データベース ダンプを再作成してインポートします
  6. 移行先の Confluence を起動します

最終更新日 2021 年 7 月 12 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.