Aller au contenu

FreshRSS en docker : "Connection refused"


CoolRaoul

Messages recommandés

Bonjour


Essayant de dépatouiller des problèmes sur mon service FreshRSS je tente d'en installer la version dockerisée en parallèle

Je bute lors de la configuration initiale sur l'erreur :

Access to database is denied for `freshrss`: SQLSTATE[HY000] [2002] Connection refused


Pourtant je n'ai aucun doute sur le mot de passe mysql du le compte "freshhrss" (testé en ligne de commande avec mysql -u freshrss --password='<pass>')

Je précise que je suis une vraie quiche en bases de données et MariaDB en particulier.

Merci d'avance

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

  • Tu as créé l'utilisateur et sa DB au préalable sur MariaDB ? (en ligne de commande ou plus simple via phpMyAdmin).
  • Deuxième possibilité, le socket n'est pas exposé localement, il faut cliquer sur le paquet MariaDB depuis le menu Démarrer de DSM, et cocher l'option d'exposition du socket. Sinon il n'écoute qu'en localhost.
Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, lordtaki a dit :

Les autorisations prennent aussi en compte l'origine du client (localhost, adresse IP, % (joker pour openbar)..

et on s'y prend comment pour modifier les autorisations d'un compte dans MySQL ? (j(utilise phpMyAdmin pour l'administration)

il y a une heure, .Shad. a dit :

Tu as créé l'utilisateur et sa DB au préalable sur MariaDB ? (en ligne de commande ou plus simple via phpMyAdmin).

Evidemment puisque mon instance FreshRSS hébergée en direct sur le NAS fonctionne

il y a une heure, .Shad. a dit :

Deuxième possibilité, le socket n'est pas exposé localement, il faut cliquer sur le paquet MariaDB depuis le menu Démarrer de DSM, et cocher l'option d'exposition du socket. Sinon il n'écoute qu'en localhost.

Ah je vais tester ça de suite je n'ai utilisé que des connexion locale  jusqu'ici 

 

 

**** EDIT ****

 

il y a 26 minutes, CoolRaoul a dit :

Ah je vais tester ça de suite je n'ai utilisé que des connexion locale  jusqu'ici 

Ah non c'était déjà coché. A la réflexion le socket était en écoute sinon je ne pouvais pas me connecter même en localhost.

La preuve

~> sudo lsof -i :3307
COMMAND    PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
mariadbd 18603 mysql   26u  IPv4 131189062      0t0  TCP *:3307 (LISTEN)

 

Et j'ai bien pensé à ajouter une règle dans le firewall pour autoriser les connexions entrantes en provenance de l'IP du container Docker

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J'ai tout repris à zero en utilisant une autre tuto (mais c'est pas fondalement différent) et toujours la même erreur :

"Access to database is denied for `freshrss`: SQLSTATE[HY000] [2002] Connection refused"

🤬
Personne ne connait la commande pour autoriser les connexions à utilisateur mysql donné partir d'une IP spécifique  ?

@lordtaki semblait maitriser ça

Lien vers le commentaire
Partager sur d’autres sites

En grattant un peu j'ai trouvé ceci :

MariaDB [(none)]> GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'  HOST='n.p.q.r';

connexté "root" à mariadb en ligne de commande, où n.p.q.r est l'IP du container.

Mais ça échoue avec l'erreur :

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'HOST='n.p.q.r'' at line 1

(Comme je l'ai précisé, je ne touche pas une bille en bases de données, ça ne m'aide pas)

Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, CoolRaoul a dit :
GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'  HOST='n.p.q.r';

Moi j'ai plutôt cette syntaxe en tête :

GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'%'

Pour donner l'accès à tous.

GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'192.168.X.%'

Pour donner l'accès à un réseau local en particulier

Dans ton cas, si freshrss est en bridge alors je mettrais :

GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'172.16.%.%'
Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, .Shad. a dit :

GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'172.16.%.%'

réponse
 

ERROR 1133 (28000): Can't find any matching row in the user table

 

le compte se nome 'freshrss' pas 'freshrss@machinbidule'

C'est vraiment bizarre la syntaxe de mysql pour modifier les droits d'acces des comptes

 

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé ça
https://easyengine.io/tutorials/mysql/remote-access/
Déja je ne comprends pas pourquoi il faudrait modifier le mot de passe du compte cible ("IDENTIFIED BY 'PASSWORD'") juste pour lui donner le droit de se connecter depuis une IP donnée 🤔
En plus ça ne marche toujours pas

Lien vers le commentaire
Partager sur d’autres sites

Alors je découvre ceci

https://docs.rackspace.com/docs/mysql-connect-to-your-database-remotely
Avec cette remrque qui me laisse dubitatif

Citation

A local user is different from a remote user. For example,
fooUser@localhost is not the same as fooUser@1.2.3.4. If you want
both users to have the same permissions, you need to duplicate permissions.

Dans tous les systèmes que j'ai pratiqué dans la vie, un user c'est un user avec des droits de connexion un point c'est tout
Vraiment de plus en plus bizarre

il y a 6 minutes, .Shad. a dit :

tu as essayé de créer l'utilisateur depuis phpMyAdmin ?

Il existe depuis des lustres le compte "freshrss" et mon service web local marche depuis aussi longtemps
mais c'est un fait que le serveur web se connecte à la DB en localhost, pas à distance

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J'avance ...
je parviens à me connecter depuis mon PC comme ceci

mysql -u freshrss -h  --password="" -P 3307


avec un tcpdump actif en ssh sur le NAS ("tcpdump -i any port 3307") je visualise bien le traffic dans ce cas
Par contre en relançant la procédure de setup FreshRSS en docker, je ne vois rien passer, et même avec le Firewall désactivé!!!
On dirait un problème de routage du container vers l'extérieur
*** VICTOIRE ***
Pour une raison que je ne m'explique pas, MariaDB sur mon NAS était configuré pur utiliser le port 3307 au lieu du défaut (3306)
Et le setup de FreshRSS en docker ne permet pas de le spécifier

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.