Skip to content

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.

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:

./scripts/test-online-updates.sh   # Uses ghcr.io/askdba/myvector:mysql8.4

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.