php – 如何使用mysql 8 docker测试laravel 5.6

由于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我收到错误,如前所述……

到目前为止,我还没有找到任何解决方案来解决这个问题.

有任何想法吗?

最佳答案
最后我设法让它发挥作用.

在这种情况下,应该以不同方式调用mysql服务:

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

转载注明原文:php – 如何使用mysql 8 docker测试laravel 5.6 - 代码日志