身份验证插件'caching_sha2_password'无法在circleci/mysql中加载

sim*_*sen 4 mysql circleci mysql-8.0 circleci-2.0

我最近在CircleCi 2中测试代码时遇到了问题.我们的config.yml部分:

jobs:
  build:
    environment:
    docker:
      ...
      - image: circleci/mysql
      - image: rabbitmq:3-alpine
    working_directory: ~/webapp

    steps:
      ...
      - run:
          name: Prepare DB
          command: echo "create database" | mysql --host 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

构建失败Prepare DB

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: Error loading shared library /usr/lib/mysql/plugin/caching_sha2_password.so: No such file or directory Exited with code 1

此错误现在只发生,并且没有对circle/mysql设置进行任何更改.

例如/sf/answers/3496123781/指定可以设置--default-authentication-plugin=mysql_native_password标志,但不确定这是否适用,或者如何在圆圈ci设置中应用它.

sim*_*sen 10

这个问题是特定于mysql 8(正如Raymond所指出的),并且由于CircleCi将其最新的docker镜像升级到mysql 8而发生错误.因此,我们特定情况的解决方案(我们使用的是mysql 5.7)只是为了指定适用于mysql docker镜像的标签:

jobs:
  build:
    environment:
    docker:
      ...
      - image: circleci/mysql:5.7
Run Code Online (Sandbox Code Playgroud)