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.

Nextcloud no puede crear un usuario administrador.

Error al intentar crear el usuario administrador:

Error al intentar crear el usuario administrador: No se pudo conectar a la base de datos: Ha ocurrido una excepción en el controlador: SQLSTATE[HY000] [1045] Acceso denegado para el usuario 'nextcloud'@'172.22.0.6' (usando contraseña: SI)

docker-compose.yml

versión: '3'</p>

<p>volúmenes:
  nextcloud-data:
  nextcloud-db:</p>

<p>networks:
  nginx_network:
    external: true</p>

<p>services:</p>

<p>app:
    image: nextcloud
    restart: always
    volúmenes:
      - nextcloud-data:/var/www/html
    environment:
      - MYSQL_PASSWORD=test
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
    networks:
      - nginx_network</p>

<p>db:
    image: mariadb
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volúmenes:
      - nextcloud-db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=test
      - MYSQL_PASSWORD=test
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - nginx_network

No pude encontrar problemas similares con una solución que funcione para mí, y el docker compose me parece bien

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que se le está negando el acceso a la base de datos al usuario ‘nextcloud’. Esto puede ser debido a una contraseña incorrecta o a la falta de privilegios. Aquí tienes algunos pasos de solución de problemas que puedes intentar:

    1. Verifica dos veces las credenciales en el archivo docker-compose.yml para los servicios de la aplicación y la base de datos. Asegúrate de que las contraseñas coincidan y estén correctamente configuradas. Además, verifica que el usuario ‘nextcloud’ tenga los privilegios necesarios para acceder a la base de datos.
    2. Verifica si el contenedor de la base de datos está en ejecución y es accesible por el contenedor de la aplicación. Ejecuta docker ps para verificar que los contenedores estén iniciados y en ejecución. También puedes intentar ejecutar docker-compose logs para ver si hay algún error relacionado con el servicio de la base de datos.

    3. Asegúrate de que la red del contenedor esté configurada correctamente. En este caso, los servicios de la aplicación y la base de datos están conectados a una red externa llamada ‘nginx_network’. Verifica que esta red exista ejecutando docker network ls.

    4. Intenta restablecer la contraseña del usuario ‘nextcloud’ en la base de datos. Puedes hacerlo accediendo al contenedor de la base de datos utilizando docker-compose exec db bash y luego ejecutando mysql -u root -p para iniciar sesión como usuario root. Una vez iniciada la sesión, ejecuta los siguientes comandos:

    GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'%' IDENTIFIED BY 'nuevacontraseña';
    FLUSH PRIVILEGES;
    

    Reemplaza ‘nuevacontraseña’ con una nueva contraseña de tu elección. Luego intenta reiniciar los contenedores de Docker y crear nuevamente al usuario administrador.

Comments are closed.