Requête SELECT multi-serveurs
Bonjour,
Je dois effectuer une requête sur 2 bases situées sur 2 serveurs différents.
J'ai donc pratiqué ainsi
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// Valeurs données à titre d"'exemple
$MDB_SV1="server1"; $MDB_US1="user1"; $MDB_PS1="pwd1"; $MDB_BN1="mdb1";
$MDB_SV2="server2"; $MDB_US2="user2"; $MDB_PS2="pwd1"; $MDB_BN2="mdb2";
$t1="table1";
$t2="table2";
$fields2="fields2";
$value="myValue";
$id1=mysql_connect($MDB_SV1,$MDB_US1,$MDB_PS1);
$id2=mysql_connect($MDB_SV2,$MDB_US2,$MDB_PS2);
echo "select 1:". mySql_select_db($MDB_BN1,$id1);
echo "select 2:". mySql_select_db($MDB_BN2,$id2);
$sql="SELECT *
FROM `$MDB_BN2`.`$t2` t2, `$MDB_BN1`.`$t1` t1
WHERE t2.$fields2='$value';";
$result= mysql_query($sql);
echo "result:".$result."< = > error_sql (".mysql_errno() ."): ".mysql_error(); |
soit le résultat
Citation:
select 1:1
select 2:1
result:< = > error_sql (1142): SELECT command denied to user '$MDB_BN2'@'10.0.63.00' for table '$t1'
J'ai tenté de donner des droits via une clause GRANT.
Code:
$sql="GRANT SELECT ON `$MDB_BN1`.`$t1` TO '$MDB_BN2'@'10.0.63.00';";
(probablement mal écrite) car sans succès.
D'où mes questions :
- comment résoudre cette erreur,-
- la configuration du serveur (mutu) peut-il être en cause, ou au pire
- comment pratiquer en compulsant 2 requêtes consécutives ?