如何使用MySQL 8 Docker测试Laravel 5.6

5
由于mysql 8中的新哈希算法,我无法在gitlab上成功运行针对此mysql版本的CI测试。
我认为这也适用于其他CI引擎。
假设我的.gitlab-ci.yml文件非常简单:
build:
  stage: build
  image: chilio/laravel-dusk-ci:stable
  services:
    - mysql:8.0

  script:
    - cp .env.example .env
    - composer install
    - php artisan migrate

这是我收到的错误信息:

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

我发现了不同的帖子,关于重新配置mysql实例,但是这个镜像是官方的mysql docker,我相信它应该在不同版本中都能够以同样的方式工作... mysql:5.5到5.7的镜像没有引入任何问题,但是对于mysql:8.0,我遇到了如前所述的错误...
到目前为止,我还没有找到任何解决方法来解决这个问题。
有什么想法吗?
1个回答

11

最终我已经成功地解决了它的问题。

在这种情况下,mysql服务应该被不同地调用:

services:
     - name: mysql:latest
       command: ["--default-authentication-plugin=mysql_native_password"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接