我正在尝试安装MySQL ODBC驱动程序能够连接到远程MySQLserver frompython:3.9.5-slim-buster
docker.
DRIVER={MySQL ODBC 8.0 Driver}
连接
- 下载https://dev.mysql.com/downloads/connector/odbc/
- 下面这个https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation-binary-unix-tarball.html
我已经把这个添加到我的Dockerfile
:
FROM python:3.9.5-slim-buster
WORKDIR /app
# build variables.
ENV DEBIAN_FRONTEND noninteractive
# install Microsoft SQL Server requirements.
ENV ACCEPT_EULA=Y
RUN apt-get update -y && apt-get update
&& apt-get install -y --no-install-recommends curl gcc g++ gnupg unixodbc-dev
# MYSQL
ADD https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit.tar.gz .
RUN tar -C . -xzvf mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit.tar.gz
RUN cp mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/bin/* /usr/local/bin
RUN cp mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib
RUN myodbc-installer -a -d -n "MySQL ODBC 8.0 Driver" -t "Driver=/usr/local/lib/libmyodbc8w.so"
这是错误:
Step 9/14 : RUN cp mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib
---> Running in 090acd838faa
cp: -r not specified; omitting directory 'mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/plugin'
cp: -r not specified; omitting directory 'mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/private'
The command '/bin/sh -c cp mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib' returned a non-zero code: 1
你知道该怎么办吗?
如果您查看lib
文件夹,您将看到下一个:
cake@cake:~/tt/mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib$ ls -alh
total 53M
drwxr-xr-x 4 cake cake 4.0K 6月 27 21:52 .
drwxr-xr-x 5 cake cake 4.0K 7月 31 12:59 ..
-rwxr-xr-x 1 cake cake 27M 6月 27 21:52 libmyodbc8a.so
-rwxr-xr-x 1 cake cake 27M 6月 27 21:52 libmyodbc8w.so
drwxr-xr-x 2 cake cake 4.0K 6月 27 21:52 plugin
drwxr-xr-x 3 cake cake 4.0K 6月 27 21:52 private
文件夹plugin
&lib
中的private
。检查cp
的使用情况,您可以看到下面:
-R, -r, --recursive copy directories recursively
这意味着当你用文件夹复制东西时,你必须添加-r
。因此,对于您的场景,您需要更改到next以使您工作:
RUN cp -r mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib