我最近在circleci2中测试代码时遇到了一些问题。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
生成在失败 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设置进行任何更改。
从例如。https://stackoverflow.com/a/49944625/2713641 规定可以设置 --default-authentication-plugin=mysql_native_password
标记,但不确定是否适用于此处,或如何在circle ci设置中应用它。
2条答案
按热度按时间vptzau2j1#
这个问题是mysql 8特有的(正如raymond所指出的),错误发生的原因是circleci将他们最新的docker映像升级到mysql 8。因此,针对我们的具体案例(我们使用的是MySQL5.7)的解决方案只是为mysql docker映像指定适当的标记:
jucafojl2#
如果您想保留mysql 8,请这样配置它
资料来源:https://discuss.circleci.com/t/solved-mysql-8-0-without-mysql2-authentication-plugin-caching-sha2-password-cannot-be-loaded/25791