Support Health Check fail for Collation and Character Set using MySQL database

お困りですか?

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

コミュニティに質問

プラットフォームについて: 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 は除く



問題

Confluence is using MySQL database and may be exhibiting the following issue:


  • Healtcheck fails with the following problems

  • atlassian-confluence.log logs the following errors:
WARN [HealthCheckWatchdog:thread-*] [troubleshooting.healthcheck.concurrent.SupportHealthCheckTask] healthCheckError Unable to complete execution of health check Character Set due to an exception
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: Tablespace '`confluence`.`supporthealthchecks`' exists.
...
WARN [HealthCheckWatchdog:thread-*] [troubleshooting.healthcheck.concurrent.SupportHealthCheckTask] healthCheckError Unable to complete execution of health check Collation due to an exception
...
Caused by: java.lang.RuntimeException: java.sql.SQLException: Tablespace '`confluence`.`supporthealthchecks`' exists.
...
Caused by: java.sql.SQLException: Tablespace '`confluence`.`supporthealthchecks`' exists.
...

または

WARN [HealthCheckWatchdog:thread-4] [troubleshooting.healthcheck.concurrent.SupportHealthCheckTask] healthCheckError Unable to complete execution of health check Character Set due to an exception
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: Can't create table 'supporthealthchecks' (errno: 13)

または

WARN [HealthCheckWatchdog:thread-4] [troubleshooting.healthcheck.concurrent.SupportHealthCheckTask] healthCheckError Unable to complete execution of health check Collation due to an exception
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: Can't create table 'supporthealthchecks' (errno: 13)



  • MySQL log will show the following errors:

ERROR, InnoDB: Cannot create file './EDMconfluence/supporthealthchecks.ibd'
ERROR, InnoDB: The file './EDMconfluence/supporthealthchecks.ibd' already exists though the corresponding table did not exist in the InnoDB data dictionary. Have you moved InnoDB .ibd files around without using the SQL commands DISCARD TABLESPACE and IMPORT TABLE [truncated, 435 bytes total]


診断

環境

  • MySQL DB server

Diagnostic Steps

  • Verify that charset/collation is correctly set on DB to "utf8/utf8_bin" or "utf8mb4 / utf8mb4_bin" (available in Confluence 7.3 and later) in accordance with Database Setup For MySQL
  • Check if there is supporthealthchecks.ibd left on MySQL server with no corresponding *.frm file
  • Check that MySQL Server has the correct directory/file permissions to create new tables

原因

A residual IBD file is left on /var/lib/ for support health checks, i.e. /var/lib/mysql/confluence/supporthealthchecks.ibd but there is no corresponding FRM file to accommodate it, so MySQL could not show the table.

MySQL does not have the correct directory/file system permissions to create the new table files on disk.

ソリューション

  • Move supporthealthchecks.ibd file to another directory (do not delete)
  • Check and correct the MySQL data directory (SHOW VARIABLES WHERE Variable_Name="datadir") file permissions are correct for the Confluence Database
  • Confluence を再起動します。


最終更新日 2021 年 9 月 14 日

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

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