J'ai essayé de configurer nextlcoud et mariadb avec les images du serveur linux et touchez mon barrage routier lorsque je veux accéder à l'assistant de nextcloud: Message d'erreur incl. tous les paramètres de l'assistant de première exécution
I.e. la première fois que l'assistant me donne Erreur lors de la tentative de création de l'utilisateur administrateur: Échec de la connexion à la base de données: Une exception s'est produite dans le pilote: SQLSTATE [HY000] [2002] Aucun fichier ou répertoire de ce type
. p >
D'où cela vient et comment résoudre le problème?
J'utilise Amahi 11 et ont installé le docker à partir des dépôts. Version de Docker:
version: '2' services: mariadb: image: linuxserver/mariadb container_name: mariadb environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=nextcloud - PUID=XX - PGID=YYY volumes: - <path/to/my/folder>:/config ports: - 3307:3306 restart: unless-stopped
Je démarre nextcloud et mariadb avec docker-compose. Suite au contenu de mariadb:
version: '2' services: mariadb: image: linuxserver/mariadb container_name: mariadb environment: - PUID=XX - PGID=YYY - MYSQL_ROOT_USER=root - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=nextcloud volumes: - <path/to/my/folder>:/config ports: - 3307:3306 restart: unless-stopped
sudo docker exec -it mariadb bash
. Là, j'ai pensé que l'accès à la ligne de commande avec «mysql» pour root a été refusé parce que le mot de passe n'a pas été défini. (mmmh ... y a-t-il quelque chose qui ne va pas avec mon fichier docker-compose-?)
Quoi qu'il en soit, j'ai corrigé celui-là avec mysql -u root -pSECRET
et mysql -u root --password = SECRET
. Avec show databases;
je n'ai trouvé aucune base de données nextcloud
. (Il DOIT y avoir quelque chose qui ne va pas avec mon fichier docker-compose-file.) Je l'ai donc créé également ( create database nextcloud;
). La base de données est maintenant affichée correctement et je l'ai trouvée dans
. Résultat: Aucun changement, le problème persiste. J'ai fait quelques modifications supplémentaires avec mon fichier docker-compose:
Client: Version: 18.09.0 API version: 1.39 Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:48:52 2018 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.0 API version: 1.39 (minimum version 1.12) Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:19:08 2018 OS/Arch: linux/amd64 Experimental: false
J'ai donc changé la hiérarchie et éliminé la ligne MYSQL_ROOT_USER = root
. Lors du redémarrage, je peux mysql -u root --password = SECRET
et afficher la base de données nextcloud
. ENCORE, je ne suis pas sûr, si ces changements sont restés dans le volume de mes derniers changements (manuels). Résultat: Le problème persiste.
4 Réponses :
Par curiosité, j'ai commencé à jouer avec le localhost-port. J'ai choisi 3307 parce que mon système hôte a un mariadb fonctionnant sur 3306, que je ne veux pas utiliser. Donc, en modifiant le port localhost: 3307
en localhost: WXYZ
- vous le nommez, cela donne la même erreur ... mmmh - en changeant localhost
en
!!!
<½SUCCÈS
J'ai changé localhost
-> mariadb
et cela a fonctionné!
J'ai dû utiliser nextcloud-mariadb: 3306
comme chaîne de connexion. Je l'ai compris en exécutant $ docker ps -a
qui répertorie le nom et le port.
Lorsque vous exécutez Nextcloud dans le docker, ajoutez --link mariadb: mariadb
. Vous pouvez ensuite utiliser mariadb
pour remplacer localhost
Est-ce que cela répond à votre question? En utilisant Docker, j'obtiens l'erreur : "SQLSTATE [HY000] [2002] Aucun fichier ou répertoire de ce type"