[MySQL(i)] :mysql ne veut pas se connecter a autre chose que localhost

:mysql ne veut pas se connecter a autre chose que localhost [MySQL(i)] - PHP - Programmation

Marsh Posté le 16-01-2008 à 00:15:52    

Hello,
 
  J'ai 2 serveurs linux :
 
une redhat ES4 avec l'ip A
une ubuntu server 7 avec l'ip B
 
sur l'ubuntu server, j'écris un script php (lancer depuis un shell) ou la connexion s'écrit :  

Code :
  1. #!/usr/bin/php
  2. <?php
  3. mysqli_connect("IPA", "user", "pwd", "dbname" ) or
  4.     die("Could not connect: " . mysql_error());
  5.    ...
  6. ?>


ou  

Code :
  1. #!/usr/bin/php
  2. <?php
  3. mysql_connect("IPA:3306", "user", "pwd" ) or
  4.     die("Could not connect: " . mysql_error());
  5.    mysql_select_db("db" );
  6. ...
  7. ?>


 
Donc, je met bien l'IPA de la  redhat ES
et j'obtiens :  
 
Warning: mysqli_connect(): (28000/1045): Access denied for user 'user'@'IPB' (using password: YES) in /root/scripts/synchronize_named.php on line 4
 
et la meme chose avec mysql_connect
 
et pourtant
 

telnet IPA 3306
Trying IPA...
Connected to HOSTNAME.
Escape character is '^]'.
4
4.1.20×I¼h>9B"!{m,2LjQ4Q|=X%N8Connection closed by foreign host.


 
donc, la machine est joignable et le port ouvert et on voit meme la version du mysql de l'autre coté !
 
 
Je ne capte pas... pour quoi ca essaie de se connecter sur la machine local avec l'IP externe (encore ca aurait été 127.0.0.1, je me serais dit que c'est un problème de conf... dans php.ini)
 
pourtant si je regarde mon /etc/php5/cli/php.ini, il n'y a pas de restriction
 
et je regarde bien le bon php.ini
 
root@hostname:~/scripts# php phpinfo.php
phpinfo()
PHP Version => 5.2.1
 
System => Linux hostname #1 Mon Apr 30 17:25:38 CEST 2007 i686
Build Date => Nov 28 2007 23:13:02
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc/php5/cli/php.ini
Scan this dir for additional .ini files => /etc/php5/cli/conf.d
additional .ini files parsed => /etc/php5/cli/conf.d/curl.ini,
 

mysql
 
MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => 5.0.38
MYSQL_MODULE_TYPE => external
MYSQL_SOCKET => /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE => -I/usr/include/mysql
MYSQL_LIBS => -L/usr/lib -lmysqlclient
 
Directive => Local Value => Master Value
mysql.allow_persistent => On => On
mysql.connect_timeout => 60 => 60
mysql.default_host => no value => no value
mysql.default_password => no value => no value
mysql.default_port => no value => no value
mysql.default_socket => no value => no value
mysql.default_user => no value => no value
mysql.max_links => Unlimited => Unlimited
mysql.max_persistent => Unlimited => Unlimited
mysql.trace_mode => Off => Off
 
mysqli
 
MysqlI Support => enabled
Client API library version => 5.0.38
Client API header version => 5.0.38
MYSQLI_SOCKET => /var/run/mysqld/mysqld.sock
 
Directive => Local Value => Master Value
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.reconnect => Off => Off


 
une idée ?
 
Paquerette.

Reply

Marsh Posté le 16-01-2008 à 00:15:52   

Reply

Marsh Posté le 16-01-2008 à 05:20:25    

La table mysql.user et mysql.host permettent de définir les machines autorisées à se connecter. Par défaut il doit y avoir que localhost ;) Va jeter un oeil par là bas, et rajoute donc ton IP en question ;)

Reply

Marsh Posté le 16-01-2008 à 08:12:21    

J'aurais jamais penser a  aller chercher coté server ;)
 


  root    IPB   Yes    ALL PRIVILEGES    Yes   Edit Privileges
 root  %  Yes  ALL PRIVILEGES  Yes  Edit Privileges
 root  daisybox  Yes  USAGE  Yes  Edit Privileges
 root  nomMachineA  Yes  ALL PRIVILEGES  Yes  Edit Privileges
 root  localhost  Yes  ALL PRIVILEGES  Yes


 
J'avais déja pourtant root@%
donc je devais déja être autorisé...
 
J'ai essayer d'ajouter l'ip de la machine B, flush privileges, et meme resultat...
toujours access denied root@ipB
 
Je continuerais a chercher dans ce sens ce soir.
 
Paquerette.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed