|
|
|
|
Salut a tous,
je suis en train de monter une bdd mysql sur un serveur linux debian.
cette base ne sera pas consultee par des pages php en localhost.
elle sera partagee par de nombreux autre sites qui y effecturont des requetes dans des scripts php.
pour l'instant je fais des tests en reseau local. je suis connecte directement par cable avec un serveur linux ubuntu.
mon ip est 192.168.1.52, celle du serveur est 192.168.1.51
nous nous pingons mutuellement sans probleme.
cote client*, pas de probleme. dans le script, j'ecris :
<?php
define('DB_HOST', '192.168.1.51');
define('DB_USERNAME', 'client');
define('DB_PASSWORD', 'client');
define('DB_DATABASE', 'isoworld');
$resid = @mysql_pconnect(DB_HOST, DB_USERNAME, DB_PASSWORD);
mysql_select_db(DB_DATABASE);
?>
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE ON isoworld.* TO client@192.168.1.51 IDENTIFIED BY 'client';
Can't connect to MySQL server on '192.168.1.51' (10061)
Configuration: Windows XP Internet Explorer 7.0
Ouhlala !
|
Dans la console, tu tapes vim /etc/mysql/my.cnf
|
On avance !
Host '192.168.1.52' is not allowed to connect to this MySQL server 192.168.1.52 c'est ma machine cliente (celle qui execute le script php) docteur ? un diagnostic ? merci bcp pour tes conseils, paralellement, je google les msg d'erreur. santiago Il y a 10 types de personnes dans le monde Ceux qui comprennent le binaire et les autres. |
Host ... is not allowed to connect to this MySQL server
|
Argggll ! ca n'en fini jamais !
Client does not support authentication protocol requested by server; consider upgrading MySQL client pourtant je n'ai defini aucun protocole d'authentification. Y a til un REQUIRE par defaut ? je vais essayer de forcer avec : GRANT CREATE, SELECT, INSERT, UPDATE, DELETE ON isoworld.* TO client@192.168.1.52 IDENTIFIED BY 'client' REQUIRE NONE; bon ca y est j'ai essaye... ca marche pas... message identique =o( Il y a 10 types de personnes dans le monde Ceux qui comprennent le binaire et les autres. |
Je viens de checker les versions :
|
Ca y est, j'ai reussi !
bind-address = 127.0.0.1par # bind-address = 127.0.0.14) cote serveur, creer un utilisateur mysql avec des droits limites a une base mysql> GRANT CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON db_name.* TO user_name IDENTIFIED BY 'password';5) si le serveur est derriere un routeur, il faut creer une translation d'adresse sur le port 3306 6) cote client, il suffit de lancer la commande : $ mysql -h server_address -u username -ppassword note : j'ai choisi de creer cote serveur un utilisateur avec peu de droits et sans host afin d'autoriser la connection de n'importe quel ordinateur. on aurait pu lui attribuer plus de droit mais securiser le tout en n'autorisant la connexion que depuis un poste precis : mysql> GRANT ALL ON db_name.* TO user_name@client_address IDENTIFIED BY 'password'; Il y a 10 types de personnes dans le monde Ceux qui comprennent le binaire et les autres. |
Il faut exécuter les requêtes sql suivent pour donner l'accès à l'utilisateur root depuis l'extérieur de la machin serveur:
|