Imagino que no será culpa de esto, pero yo lo probaría sin indicar el puerto. He configurado varios servidores y con esa misma sintaxis (sin el puerto) me han funcionado sin problemas. Se que es un detalle sin importancia, pero a veces la solución está en lo mas simple. Otro detalle que puedes comprobar es si conectas al MySQL desde la consola de la máquina que contiene el servidor web. Es posible que no tengas configurado correctamente el acceso para máquinas remotas.
PD. La visibilidad entre las máquinas la he obviado, aunque también sería útil revisarla. Faro? escribió:
Siempre he "atacado" a mysql con php en la misma máquina (con sockets en localhost). Me he visto obligado a separar la base de datos y ahora el servidor web con php lo he migrado a otra máquina. Comenté la línea de #skip-networking en el /etc/mysql/my.cnf y parece que se abre correctamente el puerto 3306 como es de esperar. Sin embargo al intentar conectar con la base de datos da un error. He cambiado la llamada a la DB de: mysql_connect ("localhost",$usuario,$clave); a mysql_connect ("10.200.18.26:3306",$usuario,$clave); El error que devuelve es Warning: mysql_connect(): Lost connection to MySQL server during query in ¿Alguna idea? He buscado el error en google, y parece que ocurre una vez que se ha producido la conexión, no que no llegue a establecerse como parece mi caso. En otras ocasiones parece que está reportado como bug de php pero no se que pensar porque uso la versión 4.3.6. La versión que funcionaba en localhost era la de Sid.