Salut Motion.
Pour accéder depuis internet à votre base de données, voici les points que vous devez vérifier :
1) votre serveur doit posséder une adresse fixe, en local. C'est le rôle du DHCP dans le routeur !
Donc votre déclarative dans les "propriétés de : protocole Internet version IPv4" n'a pas lieu d'être. Pourquoi ?
Car c'est le rôle du DHCP d'attribuer une adresse fixe à votre ordinateur.
Cochez : "obtenir une adresse Ip automatiquement".
En tapant "ipconfig /all", vous devriez voir Si l'attribution de l'adresse IP fixe s'est faite.
2) vous devez ouvrir le port 3306, dans la partie NAT de votre routeur.
Vous avez mis "tcp". Avez-vous la possibilité de mettre "both" ? C'est-à-dire TCP et UDP.
3) depuis internet, pour accéder à votre serveur MySql, vous devez préciser les points suivants :
--> le port 3306
--> le compte sous MySql.
--> le mot de passe du compte
--> le nom de la base de données.
--> l'hôte. C'est l'adresse WAN de votre routeur.
4) dans MySql, vous devez créer un compte, autre que celui se nommant "root".
Vous attribuer les droits "select, update, insert et delete" sur votre base de données.
C'est largement suffisant pour manipuler votre base de données à distance.
Si vous donnez tous les droits comme ceux du compte "root", quelqu'un de mal intentionnée, peut détruire votre base de données.
Vous attribuez pour l'hôte "%". Cela signifie n'importe quel hôte. Par exemple :
1 2 3 4 5 6
| DROP USER 'test'@'%';
CREATE USER 'test'@'%' IDENTIFIED BY 'test';
GRANT USAGE ON *.* TO 'test'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'test'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'test'@'%';
SET PASSWORD FOR 'test'@'%' = PASSWORD('test'); |
Il s'agit ici de la base de données "test".
Or dans votre exemple :
FLUSH PRIVILEGES et GRANT ALL PRIVILIEGES ON *.* TO 'root"@'IP' IDENTIFIED BY 'PASSWORD' ;
le nom d'hôte est "ip". Ça ne veut rien dire. Mettez plutôt "%".
@+
Partager