Благодаря новым алгоритмам хеширования в MySQL 8 Я не могу успешно запустить тесты CI в gitlab против этой версии MySQL.
Я считаю, что это относится и к другим двигателям 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"]
Других решений пока нет …