Building and testing MySQL on macOS (Apple Silicon)¶
Source: Building and Testing MySQL 8.0.45, 8.4.8, and 9.6.0
This note captures build and test observations for recent MySQL releases on macOS Apple Silicon. It is intended as a reference while building.
MyVector's own current latest supported MySQL release is newer than this note's source — but only for the component build. The plugin distribution (what
build-docker-local.shbelow builds, and what this whole page is about) is intentionally scoped to MySQL 8.0, 8.4, and 9.0 — seeCLAUDE.md's project overview. The component distribution additionally supports MySQL 9.7.0 and 26.10.0 (the current latest; see.github/workflows/ci.ymlandscripts/build-component-26.10-docker.sh), but those are built via Docker Linux containers in CI, not locally on macOS — there is no macOS-specific build note for the component variant, and nobuild-docker-local.shsupport for it either. The toolchain observations below are from the cited external source and only cover 8.0.45/8.4.8/9.6.0 (plugin-equivalent versions); nobody has published or verified equivalent Apple Silicon toolchain compatibility data for a newer plugin-eligible point release (e.g. a future 9.0.x) yet. If you hit a toolchain issue not listed below, please file it so this note can be updated with real findings rather than assumptions.
Environment¶
- Hardware: Apple Silicon (arm64)
- Xcode: 26.2
- LLVM (Homebrew): 14–21
Releases tested¶
- MySQL 8.0.45
- MySQL 8.4.8
- MySQL 9.6.0
Build results¶
- All three versions compile with Xcode 26.2.
- Homebrew LLVM 14–17: CMake error on macOS (likely platform-related).
- LLVM 19/20: still fail to build 8.0.45 (bug #119238 / #119239).
- LLVM 19/20: 8.4.8 also affected by bug #119246 (regression).
- LLVM 21: still fails to build 9.6.0 (preexisting bug #119246).
Notes¶
- The LLVM failures are pre-existing issues except the new 8.4.8 regression involving bug #119246.
MyVector releases vs local builds¶
Releases are built on GitHub Actions (ubuntu-22.04, x86_64 Linux), not on
your Mac. When you push a tag (e.g. v1.0.3), CI builds amd64 and arm64 images
and publishes to ghcr.io. You do not need to build locally for releases.
For local testing on Apple Silicon: Use the prebuilt image:
If you must build locally: ./scripts/build-docker-local.sh 8.4 builds
inside Linux containers. Docker on macOS (especially Apple Silicon) can hit
compiler/timer issues that CI does not. See
ONLINE_INDEX_UPDATES.md.