Mysql externe

maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 Maximegold -
Bonjours
j'ai un vps linux 2 go ram 30 go disque dur 2vcore
je voudrais installer mysql et pouvoir me connecter dessus a distance mais impossible même avec plusieurs tuto
comment faire?

7 réponses

isold Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonsoir,

Je ne sais pas si j'ai bien compris la question mais je vais répondre sur ce que j'ai compris.
Il s'agit, à partir d'un ordinateur, d'utiliser une base de données MySQL installée sur un VPS (c'est ce que j'ai compris).

Si VPS il y a, je suppose que l'installation d'un serveur MySQL n'est pas un problème et qu'il a été installé. Je crois que la solution se trouve dans la création des droits accordés à l'utilisateur d'une base de données que l'on crée sur ce serveur.

Le lieu à partir duquel un utilisateur MySQL peut exploiter sa base de données est défini au moment de l'attribution des droits :
  • on peut lui accorder le droit de l'utiliser uniquement en local
  • on peut lui accorder le droit de l'utiliser à partir d'une machine bien précise
  • on peut lui accorder le droit de l'utiliser à partir de n'importe où, de n'importe quelle machine

et
  • en local, c'est localhost ;
  • à partir d'une machine désignée, par un nom ou un numéro IP officiel ;
  • à partir de n'importe où, représenté par le caractère %


Soit un utilisateur toto, sa base de donnée totobase et son mot de passe 123456 :

CREATE DATABASE totobase;

GRANT ALL PRIVILEGES ON totobase.* TO 'toto'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON totobase.* TO 'toto'@'82.129.76.106' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON totobase.* TO 'toto'@'%' IDENTIFIED BY '123456';


A partir d'un client mysql (mysql.exe) tel que celui installé avec easyphp sur une clef USB, on peut, en insérant sa clef sur n'importe quel PC connecté à internet, utiliser une base de données MySQL distante si les droits ont été accordés pour une utilisation n'importe où ( ... to 'toto'@'%' ... ). Dans ce cas, on lance le client en indiquant, outre son nom d'utilisateur et son mot de passe, l'hôte se trouve le serveur MySQL. Les commandes peuvent être alors :
mysql --user=toto --host=92.104.18.203 -p
mysql --user=toto --host=www.monserveur.com -p
mysql -u toto -h 92.104.18.203 -p
mysql -u toto -h www.monserveur.com -p


Si le serveur est installé sur un port différent, il suffit de le préciser avec un paramère supplémentaire :
-P 3306 (P majuscule) ou --port=3306


NB: il vaut mieux taper -p tout court que --password=123456. Si le mot de passe est écrit, il ne sera pas demandé mais sera enregistré dans l'historique des commandes tapées, donc lisible. Il vaut mieux taper -p et ne le saisir que lorsqu'on le demande.

Certaines des bases de données que je me suis ainsi créées ne sont utilisable qu'en local (lors qu'une connexion SSH par exemple), alors que d'autres bases moins sensibles peuvent être ainsi utilisées à distance à partir d'un PC ou même d'un smartphone avec.

Je ne sais pas si j'ai répondu à la question, mais c'est ma réponse. :-)

Bonne soirée.
2
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,

Quelle distrib linux avez vous ?
Est-ce qu'en local vous arrivez a vous connecter ?
Quand vous dites "impossible de me connecter dessus à distance", c'est a dire ? avec quel Outil ?
Il faudrait plus d'informations pour vous aider, par ce que ça pourrait tout simplement être le firewall du serveur qui vous y empêche, ou une mauvaise configuration du serveur MySql.... Tellement de possibilités
Cordialement
1
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai debian 7 et en local impeccable
Quand je met phpmyadmin j'ai bien ip de mon serveur et non localhost mais quand je veut connecter ma db a mon cms que j'ai mis dans mon hebergement mutualiser il refuse disant que je n'ai pas le droit d'y acceder.
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
en local avec un phpmyadmin ca marche ?
pas de blocage Firewall ?
0
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
en local avec phpmyadmin impeccable
firewall je sais pas si c'est la cause du probleme il y a iptables sur le serveur et j'ai tenter d'ouvrir le port 3306 mais rien ne se produit
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
plusieurs possibilités;
1 - Soit l'accès à PhpMyAdmin est réservé à 127.0.0.1, dans ce cas il suffit d'aller dans le fichier .conf où l'alias est déclaré (phpmyadmin.conf, ou httpd.conf; je ne sais pas comment vous l'avez installé). Ouvrir ce fichier de conf, trouver l'Alias /phpmyadmin et il doit y avoir juste en dessous un
Alias /phpmyadmin "/chemin/de/phpmyadmin"
<directory "/chemin/de/phpmyadmin">
Deny from all
Allow from 127.0.0.1
</directory>

Remplacer le Allow from 127.0.0.1 par soit Allow from all (sécurité minim) ou Allow from votre IP
2- soit l'utilisateur que vous utiliser pour vous connecter à phpMyadmin (root) par exemple ne peut que se connecter en local. Il suffit donc de se connecter en local avec le compte root de faire ceci:
ajouter un utilisateur avec tous les droits (privilèges)
- serveur : % (pour tout adresse)
- definir un mot de passe
- Base de données pour cet utilisateur (cocher "Donner les privilèges passepartout ("%")"
- cocher tous les privileges globaux
- valider
- recharger les privileges
0
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention  
 
je vient essayer mais toujours rien il refuse la connection sur le port 3306 mais je me demande si mon vps accepte les connections externe.
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
le port 3306 est le port de Mysql
Hors vous vous connectez avec une adresse du type http(s)://adresseip/phpMyadm donc sur le port 80 (ou 443 si https). donc sur le serveur Apache qui lui va se connecter sur le serveur mysql en 3306 (c'est du 3tiers)
Voir avec iptable l'ouverture de ces ports :80 et 443
Indiquez moi le message d'erreur exact et quand avez vous ce message; après avoir saisi l'adresse ou apès avoir entré les identifiants
0
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai regarder ip tables est tous les port mysql sont ouvert ainsi que le port 80 mais il refuse toujours que je connecte a mysql a mon cms
et quand je marque http://ipduserver:3306
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
E???ÿjHost 'mon ip' is not allowed to connect to this MySQL server
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
WTF http://ipduserver:3306
Cet URL est impossible. On ne se connecte pas à Mysql directement avec son navigateur sur le port 3306. Il faut utiliser PhpMyAdmin pour cela
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
0
maximegold Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
j ai deja installer phpmyadmin et cette url permet de faire un test de connectivité au port mysql et même quand je veut connecter ma db a mon cms sa me mes le même msg erreur.
0
Maximegold
 
Merci de m'avoir aider j'ai trouver grâce à ton aide.
0