CoolRaoul Posté(e) le 26 mars 2024 Posté(e) le 26 mars 2024 (modifié) 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é le 26 mars 2024 par CoolRaoul 0 Citer
lordtaki Posté(e) le 26 mars 2024 Posté(e) le 26 mars 2024 Les autorisations prennent aussi en compte l'origine du client (localhost, adresse IP, % (joker pour openbar)... 0 Citer
.Shad. Posté(e) le 26 mars 2024 Posté(e) le 26 mars 2024 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. 0 Citer
CoolRaoul Posté(e) le 26 mars 2024 Auteur Posté(e) le 26 mars 2024 (modifié) 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é le 26 mars 2024 par CoolRaoul 1 Citer
.Shad. Posté(e) le 26 mars 2024 Posté(e) le 26 mars 2024 C'était la possibilité que j'allais évoquer après. Bien joué 😉 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 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 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 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) 0 Citer
PiwiLAbruti Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 (modifié) MariaDB [(none)]> GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrss'@'n.p.q.r'; Modifié le 27 mars 2024 par PiwiLAbruti 0 Citer
.Shad. Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 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.%.%' 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 (modifié) 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é le 27 mars 2024 par CoolRaoul 0 Citer
.Shad. Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 @CoolRaoul Tu suis quel(s) tuto(s) ? 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 il y a 5 minutes, .Shad. a dit : Tu suis quel(s) tuto(s) ? Celui ci : https://www.it-connect.fr/veille-technologique-installer-freshrss-sur-son-nas-synology Mais pour la partie DB il propose SQlite alors que je veux conserver ma database freshrss existante sous mariadb 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 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 0 Citer
.Shad. Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 @CoolRaoul Tu as essayé de créer l'utilisateur depuis phpMyAdmin ? j'ai jamais eu de problème par ce biais. 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 (modifié) 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é le 27 mars 2024 par CoolRaoul 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 J'avance ... je parviens à me connecter depuis mon PC comme cecimysql -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 0 Citer
.Shad. Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 A l'époque quand coexistaient MariaDB 8 et 10, DSM exposait le 10 sur le port 3307 vu que le 3306 était déjà occupé. 0 Citer
CoolRaoul Posté(e) le 27 mars 2024 Auteur Posté(e) le 27 mars 2024 Voila alors c'est ca. Ca fait tellement longtemps que je n'avais pas touché à ca que j'avais oublié. 0 Citer
Messages recommandés
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.