Действия Github: использование службы mysql приводит к отказу в доступе для пользователя 'root' @ 'localhost' - PullRequest
3 голосов
/ 03 октября 2019

Ошибка, доступ запрещен для пользователя 'root' @ 'localhost' (используя пароль: ДА) Я пытаюсь использовать службу mysql в действиях Github, но безуспешно. Я получаю следующую ошибку

Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: ДА)

Моя работа следующая:

test:
  name: Test
  needs: install
  services:
    mysql:
      image: mysql:8.0
      ports:
        - '8888:3306'
      env:
        MYSQL_ROOT_PASSWORD: rootpass
        MYSQL_DATABASE: test
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@master
    - uses: actions/setup-node@master
      with:
        node-version: '10.x'
    - run: mysql --port 8888 -u root -prootpass -e 'CREATE DATABASE IF NOT EXISTS test;'

Кажется, я не могу заставить его работать. Любая помощь приветствуется. Запрос на извлечение моего хранилища для тестовой установки можно найти здесь: https://github.com/morsby/medmcq/pull/399

1 Ответ

3 голосов
/ 04 октября 2019

Я провел некоторое время, пробуя разные вещи, чтобы заставить это работать. Я нашел решение, но, честно говоря, я не уверен, , почему это работает. Я просто добавил -h 127.0.0.1 к команде mysql.

Я также добавил флаги проверки работоспособности в options, чтобы убедиться, что служба может принимать запросы.

Это рабочий рабочий процесс. :

name: CI
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    services:
      mysql:
        image: mysql:8.0
        env:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: test
        ports:
            - '8888:3306'
        options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
    steps:
      - uses: actions/checkout@v1
      - run: mysql -h 127.0.0.1 --port 8888 -u root -ppassword -e 'CREATE DATABASE IF NOT EXISTS test;'
...