C'est bizarre. J'ai 2 boîtes de centos, prod (192.168.0.1) et vm (192.168.0.30). La base de données Mysql se trouve sur prod. L'application se trouve sur vm. De vm, si je tapeproblème de connexion mysqli
mysql -u user -p -h 192.168.0.1 -D mydb
il se connecte belle, si le port est ouvert et à l'écoute sur prod mais dans l'application, je ne
$db=new mysqli('192.168.0.1','user','mypass','mydb');
et je reçois
Warning: mysqli::mysqli() [function.mysqli-mysqli]: (HY000/2003): Can't connect to
MySQL server on '192.168.0.1' (13) in /var/www/vhosts/myapp/httpdocs/dstest.php
on line 123
Les deux boîtes ont exactement les mêmes versions php, mysql, mysql.so, mysqli.so
Un conseil?
P.S. Cela arrive aussi si j'essaie $ db = new mysqli ('127.0.0.1', ... MAIS PAS si j'essaie $ db = new mysqli ('localhost', ...
au cas où ça aide, voici my.cnf sur prod.
[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
max_connections = 500
max_user_connections = 150
key_buffer = 2048M
query_cache_limit=4M
query_cache_size=64M
table_cache=2048
tmp_table_size=64M
max_heap_table_size = 256M
# users buffers
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=1M
max_allowed_packet=16M
thread_cache=16
thread_concurrency=8
thread_cache_size=128
innodb_buffer_pool_size = 128M
myisam_sort_buffer_size = 128M
wait_timeout = 240
interactive_timeout = 240
max_allowed_packet=32M
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Avez-vous essayé de vérifier votre pare-feu? Peut-être qu'une règle bloque le vm. – Kiva
ne peut pas être un pare-feu si je peux le faire sur la ligne de commande, peut-il? –