es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede conectar al servidor MySQL local a través del socket debido a un acceso denegado.

Estoy tratando de obtener un informe de cobertura en GitHub Actions, pero cuando ejecuto el pipeline me da este error:

No se puede conectar al servidor MySQL local a través del socket /var/run/mysqld/mysqld.sock

Luego busqué y agregué el comando “sudo service mysql start” y ahora obtengo este error, pero no sé dónde o cómo escribir “mit -root -password” y “-host?”

Se ha denegado el acceso para el usuario ‘root’@’localhost’ (usando contraseña: SI)

¿Cómo hago eso?

name: Django CI

on:
  push:
    branches: [ unittests ]
    paths-ignore: '**/SkoleProtocol/attendanceCode/tests/test_selenium.py'
  pull_request:
    branches: [ unittests ]

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: [3.7, 3.8, 3.9]

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.7
      uses: actions/setup-python@v2
      with:
        python-version: 3.7
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Create test database
      run: |
        sudo service mysql start
    - name: Coverage report
      run: |
        pip install coverage
        coverage run manage.py test
        coverage report
    - name: Lint with flake8
      run: |
        pip install flake8
        flake8 ./attendanceCode --exit-zero # Salir con el código de estado "0" incluso si hay errores.
    - name: Django Tests
      run: |
        python3 manage.py test
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el error “No se puede conectar al servidor MySQL local”, agregaste el comando sudo service mysql start a la tubería. Sin embargo, ahora estás obteniendo un error de “Acceso denegado” al intentar conectarte como usuario root con una contraseña.

    Para especificar la contraseña y el host del usuario root, puedes agregar los siguientes parámetros a tu comando de cobertura:

    coverage run --source='.' --omit='*/tests/*' manage.py test --settings=settings.testing --username=root --password=<password> --host=localhost
    

    Reemplaza <password> con la contraseña actual del usuario root. Esto debería permitirte conectarte al servidor MySQL y generar un informe de cobertura en GitHub Actions.

    Ten en cuenta que es posible que debas ajustar las opciones --source y --omit para que coincidan con la estructura de directorios de tu proyecto y excluir cualquier archivo innecesario del análisis de cobertura. También deberás configurar la opción --settings con el archivo de configuración de la base de datos MySQL de tus pruebas.

Comments are closed.