azerothcore / azerothcore/acore-docker

Update MySQL from 8.0 to 8.4 LTS

Open
#52 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
302
Forks
102
PR merge metrics
No merged PRs in 30d

Description

`docker-compose.yml` still pins `mysql:8.0`. The main repo moved to 8.3 in azerothcore/azerothcore-wotlk#18244 and to 8.4 LTS in azerothcore/azerothcore-wotlk#20976, so we've been about 21 months apart.

Two reasons I think we should close the gap.

`mysql:8.0` has stopped getting rebuilds. The last push on Docker Hub was 2026-05-05, while `8.4` was rebuilt on 2026-07-28. So we're pinned to a base that no longer picks up fixes.

And we're running a different server than the main repo tests on. Anything that behaves differently between 8.0 and 8.4 shows up for our users and not in the main compose.

There's a third reason coming: azerothcore/azerothcore-wotlk#25968 wants to publish a pre-imported DB image built on 8.4. A MySQL datadir can't be downgraded, so we wouldn't be able to use that image at all while we're on 8.0.

The change is one line, but the volume isn't. An existing `ac-database` volume was initialised by 8.0, and 8.4 will attempt an in-place upgrade on first start. Could we check the supported upgrade path and test with both a fresh volume and one populated by 8.0 before merging?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the MySQL image pin in docker-compose.yml and check the supported upgrade path from MySQL 8.0 to 8.4. Test startup with both a fresh volume and an ac-database volume populated by 8.0. Done means the compose setup runs successfully in both cases and can use the planned 8.4 database image.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, mysql
Domain
databases, devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.