Skip to content

Commit 198e52d

Browse files
author
Tamas Gere
committed
MySQL 8.4 support
1 parent c074a30 commit 198e52d

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

.env

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
ALPINE_VERSION=3.18
2-
MYSQL_MAJOR=8.0
3-
MYSQL_VERSION=8.0.40
2+
MYSQL_VERSION=8.4.4
43
BOOST_VERSION=1.77.0

Dockerfile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ ARG ALPINE_VERSION
33
FROM alpine:${ALPINE_VERSION:-3.18}
44
ARG MYSQL_VERSION
55
ARG BOOST_VERSION
6-
ENV MYSQL_MAJOR 8.0
76
ENV MYSQL_VERSION ${MYSQL_VERSION:-8.0.40}
87
ENV BOOST_VERSION ${BOOST_VERSION:-1.77.0}
98
ENV GPG_KEY "859BE8D7C586F538430B19C2467B942D3A79BD29"
109
RUN apk add --no-cache --virtual .build-deps \
1110
pigz \
12-
git patch \
11+
git patch sed \
1312
gnupg \
1413
curl \
1514
linux-headers \
@@ -29,21 +28,23 @@ RUN apk add --no-cache --virtual .build-deps \
2928
RUN mkdir -p /usr/src/boost && \
3029
echo "Downloading boost v${BOOST_VERSION}..." && \
3130
wget --progress=bar:force:noscroll --show-progress -qO- "https://archives.boost.io/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//./_}.tar.bz2" | tar --strip-components 1 -xjC /usr/src/boost && \
32-
gpg --recv-keys "$GPG_KEY" && \
33-
echo "Downloading MySQL ${MYSQL_VERSION} source..." && \
34-
(curl -fSL "https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz || curl -fSL "https://cdn.mysql.com/archives/mysql-8.0/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz) && \
31+
gpg --recv-keys "$GPG_KEY"
32+
RUN MYSQL_MAJOR=$(echo "${MYSQL_VERSION}"|sed 's/\.[^.]*$//') && \
33+
echo "Downloading MySQL ${MYSQL_MAJOR} (${MYSQL_VERSION}) source..." && \
34+
(curl -fSL "https://cdn.mysql.com/Downloads/MySQL-${MYSQL_MAJOR}/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz || curl -fSL "https://cdn.mysql.com/archives/mysql-${MYSQL_MAJOR}/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz) && \
3535
mkdir -p /usr/src/mysql && \
3636
echo "Extracting source..." && \
3737
pigz -dc mysql.tar.gz|tar --strip-components 1 -xC /usr/src/mysql -f - && \
3838
rm mysql.tar.gz
3939

40-
#COPY patch /patch
40+
COPY patch /patch
4141

4242
#-DWITHSSL=openssl11/openssl3/system/yes
4343
RUN --mount=type=cache,target=/usr/src/mysql/build,sharing=locked \
4444
cd /usr/src/mysql && \
4545
mkdir -p build && cd build && \
46-
#patch -p1 < /patch/libmysql-musl.patch && patch -p0 < /patch/icu68.patch && \
46+
#(patch -p1 < /patch/libmysql-musl.patch; patch -p0 < /patch/icu68.patch; true) && \
47+
(patch -p0 < /patch/8.4-bulk_data_service.patch || true) && \
4748
_CFLAGS="-DSIGEV_THREAD_ID=4" \
4849
cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=Release -DWITH_BOOST=/usr/src/boost -DDOWNLOAD_BOOST=OFF -DENABLE_DOWNLOADS=ON \
4950
-DCOMPILATION_COMMENT_SERVER="MySQL8 for Alpine Linux by GT" \

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
MUSL compatibility was broken from 8.0.23 until 8.0.36.
1+
MUSL compatibility was broken from 8.0.23 until 8.0.35.
22

33
# How to use this image
44
Start a mysql server instance

patch/8.4-bulk_data_service.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/sql/server_component/bulk_data_service.cc b/sql/server_component/bulk_data_service.cc
2+
index a093c958..2f55293d 100644
3+
--- a/sql/server_component/bulk_data_service.cc
4+
+++ b/sql/server_component/bulk_data_service.cc
5+
@@ -1741,7 +1741,7 @@ DEFINE_METHOD(bool, is_table_supported, (THD * thd, const TABLE *table)) {
6+
}
7+
8+
if (share->has_secondary_engine()) {
9+
- my_error(ER_BULK_LOAD_SECONDARY_ENGINE, MYF(0));
10+
+ my_error(ER_PREPARE_FOR_SECONDARY_ENGINE, MYF(0));
11+
std::ostringstream err_strm;
12+
err_strm << "LOAD DATA ALGORITHM = BULK not supported for tables with "
13+
"Secondary Engine";

0 commit comments

Comments
 (0)