Однако при попытке подключения к MySQL 8.0< /code>, я столкнулся со следующей ошибкой:
Код: Выделить всё
kubeye-gateway | thread 'main' panicked at src/db/setup.rs:25:10:
kubeye-gateway | Failed to create DB Pool: Error(Some("Plugin caching_sha2_password could not be loaded: Dynamic loading not supported"))
kubeye-gateway | note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Dockerfile для приложения использует musl для статического связывания. Вот соответствующая часть моего Dockerfile:
Код: Выделить всё
FROM messense/rust-musl-cross:${BUILD_PLATFORM}-musl AS builder
...
# Manually compile MariaDB client library for musl
WORKDIR /tmp
RUN curl -LO https://downloads.mariadb.com/Connectors/c/connector-c-3.3.4/mariadb-connector-c-3.3.4-src.tar.gz
RUN tar xzf mariadb-connector-c-3.3.4-src.tar.gz
RUN mkdir build
WORKDIR /tmp/build
RUN sed 's/STRING(STRIP ${extra_dynamic_LDFLAGS} extra_dynamic_LDFLAGS)//' -i ../mariadb-connector-c-3.3.4-src/mariadb_config/CMakeLists.txt
RUN sed 's/LIST(REMOVE_DUPLICATES extra_dynamic_LDFLAGS)//' -i ../mariadb-connector-c-3.3.4-src/mariadb_config/CMakeLists.txt
RUN CC=aarch64-unknown-linux-musl-gcc \
LDFLAGS=-L/usr/local/musl/lib \
cmake \
-DWITH_SSL=OPENSSL \
-DWITH_TLS=OPENSSL \
-DOPENSSL_ROOT_DIR=/usr/local/musl \
-DOPENSSL_USE_STATIC_LIBS=1 \
-DWITH_CURL=0 \
../mariadb-connector-c-3.3.4-src
RUN make mariadbclient
RUN cp libmariadb/libmariadbclient.a /usr/local/musl/lib/libmysqlclient.a
...
Я вручную скомпилировал mariadbclient со статическим связыванием, как показано в Dockerfile.
Проверено, что скомпилированный двоичный файл работает успешно, за исключением этой проблемы с подключением к базе данных.
Как устранить ошибку плагина caching_sha2_password при использовании Diesel с MySQL и статически связанном двоичном файле Rust с муслом? Есть ли способ обеспечить совместимость с MySQL 8.0 или мне нужно что-то изменить в настройках, чтобы плагин работал?
Любые рекомендации и предложения приветствуются!
Подробнее здесь: https://stackoverflow.com/questions/793 ... ysql-using
Мобильная версия