在我目前的项目中,我正在使用Docker的Airflow。作为一个数据库后端,我使用的是MySQL。我的MySQL连接配置如下:
DB_HOST = 'host.docker.internal'
DB_PORT = 3306
DB_USER = root
DB_PASS = root
DB_NAME = dev尝试在本地笔记本电脑中部署the服务器时,遇到以下错误:
DB: mysql://root:***@host.docker.internal:3306/dev
Traceback (most recent call last):
....
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError)
(2059, "Authentication plugin 'caching_sha2_password' cannot be loaded:
/usr/lib/x86_64-linux-gnu/mariadb18/plugin/caching_sha2_password.so:
cannot open shared object file: No such file or directory")作为Airflow和Docker的新手,我不知道如何调试这个问题。有没有人能就这一点提点意见?
发布于 2020-10-21 14:43:59
这很可能是因为从8.0版开始,MySQL的默认身份验证插件是caching_sha256_password而不是mysql_native_password。
据我所知,目前Airflow还不支持通过caching_sha256_password进行身份验证。作为一种解决办法,我建议将您的用户更改为通过mysql_native_password进行身份验证,这可以通过在mysql中使用以下命令进行更改
UPDATE USER 'your_user_name'@'%' IDENTIFIED WITH mysql_native_password BY 'your_user_password';https://stackoverflow.com/questions/60210211
复制相似问题