TL;DR
- Docker HubにあるMariaDBの公式イメージのメジャーバージョンアップを行う場合、環境変数
MARIADB_AUTO_UPGRADE
にnon-emptyな値に設定したほうがよい
経緯
Redmineで利用しているMariaDBのバージョンアップを行った。10.4.25から10.6.8に一気に上げた。
途中10.5.15を経由したのだが、その際に以下のメッセージが出たのが気になった。
redmine_db | 2022-06-25 05:16:20+00:00 [Note] [Entrypoint]: MariaDB upgrade (mysql_upgrade) required, but skipped due to $MARIADB_AUTO_UPGRADE setting
Docker HubのMariaDB公式サイトを見に行くと確かに以下の記述がある。
Set MARIADB_AUTO_UPGRADE to a non-empty value to have the entrypoint check whether mysql_upgrade/mariadb-upgrade needs to run, and if so, run the upgrade before starting the MariaDB server.
Before the upgrade, a backup of the system database is created in the top of the datadir with the name system_mysql_backup_*.sql.zst. This backup process can be disabled with by setting MARIADB_DISABLE_UPGRADE_BACKUP to a non-empty value.
環境変数MARIADB_AUTO_UPGRADE=1
と設定したうえで再実行したところ、アップグレード時の各種チェック処理が実行されたことを確認、さらに10.6.8へアップグレードした。
このオプション、なんで既定で無効になってるんだろ? 有効にした方が安全だと思うのだが…