Connexion sur mon nas
Kilkenny95
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à toutes et à tous,
J'aimerai communiquer une appli java avec ma base de données. J'ai un petit réseau contenant mon PC de développement, un nas Synology, un switch. J'ai mis ma base Mariadb (nouveau MySQL sur nas synology) sur mon nas. J'ai également installé phpMyAdmin sur ce nas.
Depuis mon pc j'arrive à me connecter à ma base via PhpMyAdmin ( j'y accède depuis l'interface synology sur une page internet).
Jusque la tout va bien (j'ai quand même une question, ma base communique via internet ou via le switch puisque mon nas et mon pc son sous le même réseau ?).
Le problème est que pour vérifier ma connexion entre pc et base j'ai voulu me connecter à la base non plus via phpmyadmin, mais via l'invite de commande. Et la rien ne marche, mon pc de reconnait pas les commandes que je lui envoi.
Est-il possible au moins d'envoyer des requêtes sql via l'invite de commande vers une base ailleurs que sur le pc ?
Si, oui, comment ça se fait que depuis mon pc, j'arrive à me connecter à la base, mais pas via l'invite de commande du pc ?
Merci d'avance, je suis perdue
J'aimerai communiquer une appli java avec ma base de données. J'ai un petit réseau contenant mon PC de développement, un nas Synology, un switch. J'ai mis ma base Mariadb (nouveau MySQL sur nas synology) sur mon nas. J'ai également installé phpMyAdmin sur ce nas.
Depuis mon pc j'arrive à me connecter à ma base via PhpMyAdmin ( j'y accède depuis l'interface synology sur une page internet).
Jusque la tout va bien (j'ai quand même une question, ma base communique via internet ou via le switch puisque mon nas et mon pc son sous le même réseau ?).
Le problème est que pour vérifier ma connexion entre pc et base j'ai voulu me connecter à la base non plus via phpmyadmin, mais via l'invite de commande. Et la rien ne marche, mon pc de reconnait pas les commandes que je lui envoi.
Est-il possible au moins d'envoyer des requêtes sql via l'invite de commande vers une base ailleurs que sur le pc ?
Si, oui, comment ça se fait que depuis mon pc, j'arrive à me connecter à la base, mais pas via l'invite de commande du pc ?
Merci d'avance, je suis perdue
A voir également:
- Connexion sur mon nas
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
2 réponses
Bonjour,
D'abord un peu d’architecture système. Quand php et mysql sont installés sur la même machine, ils communiquent directement sans avoir besoin du réseau (wan-internet ou lan-local).
Quand tu exécutes phpadmin dans ton navigateur, c'est le logiciel serveur php qui interroge le logiciel serveur mysql et qui avec les données trouvées, constitue une page html qui est envoyée au navigateur de ton pc. Sur ton pc le seul programme qui s’exécute c'est le navigateur qui affiche une page. Tout le traitement est effectué sur le Nas.
Il est a priori possible d'executer mysql en ligne de commande vers une autre machine (je suis utilisateur d'Oracle) https://code.uni-deal.com/techniques/linux/62-mysql-commandes-utiles.html
Mais il faut alors que mysql soit installé sur ton pc. Sinon tu n'as pas les programmes ;-)
D'abord un peu d’architecture système. Quand php et mysql sont installés sur la même machine, ils communiquent directement sans avoir besoin du réseau (wan-internet ou lan-local).
Quand tu exécutes phpadmin dans ton navigateur, c'est le logiciel serveur php qui interroge le logiciel serveur mysql et qui avec les données trouvées, constitue une page html qui est envoyée au navigateur de ton pc. Sur ton pc le seul programme qui s’exécute c'est le navigateur qui affiche une page. Tout le traitement est effectué sur le Nas.
Il est a priori possible d'executer mysql en ligne de commande vers une autre machine (je suis utilisateur d'Oracle) https://code.uni-deal.com/techniques/linux/62-mysql-commandes-utiles.html
Mais il faut alors que mysql soit installé sur ton pc. Sinon tu n'as pas les programmes ;-)
Bonjour,
J'ajouterai que, de plus, il faut que le "user" mysql utilisé soit autorisé pour les connexion distantes.
En général on créé un nouvel utilisateur (on n'evite d'utiliser le "root" ....) pour lequel on autorise la connexion et en "local" et on crée un second utilisateur (avec les mêmes identifiants) autorisé à se connecter depuis (soit une IP précises.. soit de n'importe où : % )
En gros :
Dans le fichier my.cnf (my.ini sous windows)
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
Ensuite, (soit en ligne de commande soit depuis phpmyadmin )
Bien entendu, il faut aussi que ta box / routeur autorise les connexion à distances si tu veux accéder à la base depuis l'extérieur de ton réseau.
Pour finir... sache que les applications ne doivent JAMAIS accéder directement à une BDD.
A la place, on met en place des WEBSERVICES (que tu peux coder en PHP) et tu ne fais, depuis ton appli java, qu'intéroger ces webservices.
Recherche sur le net l'utilisation du REST API .. tu trouveras des exemples.
J'ajouterai que, de plus, il faut que le "user" mysql utilisé soit autorisé pour les connexion distantes.
En général on créé un nouvel utilisateur (on n'evite d'utiliser le "root" ....) pour lequel on autorise la connexion et en "local" et on crée un second utilisateur (avec les mêmes identifiants) autorisé à se connecter depuis (soit une IP précises.. soit de n'importe où : % )
En gros :
Dans le fichier my.cnf (my.ini sous windows)
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
Ensuite, (soit en ligne de commande soit depuis phpmyadmin )
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
Bien entendu, il faut aussi que ta box / routeur autorise les connexion à distances si tu veux accéder à la base depuis l'extérieur de ton réseau.
Pour finir... sache que les applications ne doivent JAMAIS accéder directement à une BDD.
A la place, on met en place des WEBSERVICES (que tu peux coder en PHP) et tu ne fais, depuis ton appli java, qu'intéroger ces webservices.
Recherche sur le net l'utilisation du REST API .. tu trouveras des exemples.
Donc si mon bdd et mon pc de communique pas via le réseau, et seulement via internet (si je te suis bien), cela voudrait dire qu'ils pourraient communiquer sans forcément être sous le même réseau ?
Si j'installe MySQL sur mon ordi, ne va t-il pas.....Y avoir 2 bases différentes ? une sure mon pc et une sur mon nas ? Ou alors y'a t'il une manip a faire ?
J'ai regardé le lien que tum'as suggérer, je les ai deja essayé sans grand succès. Ou alors je m'y suis mal prise mdrrr.
Pour la connexion le -h je mets bien l'adresse IP de mon nas ?