diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index c5b561a..a53b65c 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -18,6 +18,7 @@ jobs: fail-fast: false matrix: mysql-version: + - '5.6.51' - '8.0.42' - '8.4.4' - '9.1.0' @@ -47,10 +48,21 @@ jobs: path: /tmp/mysql-tarball key: mysql-${{ matrix.mysql-version }}-linux-x86_64-v1 - - name: Download MySQL + - name: Resolve tarball name run: | SHORT_VER=$(echo "$MYSQL_VERSION" | grep -oP '^\d+\.\d+') - TARBALL="mysql-${MYSQL_VERSION}-linux-glibc2.17-x86_64.tar.xz" + # MySQL 5.6 ships as .tar.gz built against glibc2.12; 5.7+ ships + # as .tar.xz built against glibc2.17. + if [ "$SHORT_VER" = "5.6" ]; then + TARBALL="mysql-${MYSQL_VERSION}-linux-glibc2.12-x86_64.tar.gz" + else + TARBALL="mysql-${MYSQL_VERSION}-linux-glibc2.17-x86_64.tar.xz" + fi + echo "SHORT_VER=$SHORT_VER" >> "$GITHUB_ENV" + echo "TARBALL=$TARBALL" >> "$GITHUB_ENV" + + - name: Download MySQL + run: | mkdir -p /tmp/mysql-tarball if [ ! -f "/tmp/mysql-tarball/$TARBALL" ]; then echo "Downloading $TARBALL..." @@ -64,7 +76,6 @@ jobs: - name: Unpack MySQL run: | mkdir -p "$SANDBOX_BINARY" - TARBALL="mysql-${MYSQL_VERSION}-linux-glibc2.17-x86_64.tar.xz" ./dbdeployer unpack "/tmp/mysql-tarball/$TARBALL" \ --sandbox-binary="$SANDBOX_BINARY" diff --git a/README.md b/README.md index 91a5b75..18e8efb 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ dbdeployer deploy single 8.0.40 | Provider | Single | Replication | Group Replication | ProxySQL Wiring | |----------|:------:|:-----------:|:-----------------:|:---------------:| -| **MySQL** (8.0, 8.4, 9.x) | ✓ | ✓ | ✓ | ✓ | +| **MySQL** (5.6, 5.7, 8.0, 8.4, 9.x) | ✓ | ✓ | ✓ (5.7.17+) | ✓ | | **PostgreSQL** (12+) | ✓ | ✓ (streaming) | — | ✓ | | **ProxySQL** | ✓ | — | — | — | | Percona Server | ✓ | ✓ | ✓ | ✓ | diff --git a/website/src/content/docs/providers/mysql.md b/website/src/content/docs/providers/mysql.md index 36d1fe7..bcfddf4 100644 --- a/website/src/content/docs/providers/mysql.md +++ b/website/src/content/docs/providers/mysql.md @@ -9,7 +9,7 @@ The MySQL provider is the core of dbdeployer. It supports MySQL Community Server | Flavor | Tarball prefix | Notes | |--------|---------------|-------| -| MySQL Community Server | `mysql-` | Default; versions 5.7, 8.0, 8.4, 9.x | +| MySQL Community Server | `mysql-` | Default; versions 5.6, 5.7, 8.0, 8.4, 9.x | | Percona Server | `Percona-Server-` | Drop-in MySQL replacement with extra features | | MariaDB | `mariadb-` | Compatible with MySQL 5.7 API; some features differ | @@ -85,6 +85,7 @@ dbdeployer deploy single lab_8.0.35 | Series | Status | Topologies | |--------|--------|-----------| +| 5.6.x | Legacy | single, replication | | 5.7.x | Legacy | single, replication, group (5.7.17+) | | 8.0.x | Stable | all topologies | | 8.4.x | LTS (recommended) | all topologies |