Foros Programación Servidor

Mi web no se conecta con la base de datos

12 12 Respuestas Sábado 3 de abril, 2010
Hola, un cliente me ha pedido que haga cambios en una web que tenía hecha y que se la cambie a otro dominio. La web en cuestión es esta y el problema es que me salen, entre otros, estos errores en el nuevo dominio:

function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/13/d322188303/htdocs/public_html/index.php on line 239

He estado "googleando" y "domestikando" pero no me aclaro mucho. Además que la programación no es lo mío.
Gracias otra vez por vuestra ayuda
Registrado desde 07/10/08
Número de posts: 229
  • Avatar de ernexbcn ernexbcn Registrado desde 29/01/07 / Número de posts: 686
    Revisa la configuración de la base de datos de la web, no sé si has configurado la forma en que debe conectarse a mysql en el nuevo hosting, más que probable los datos son diferentes y has de cambiarlos.
    Publicado hace 2 años
  • Avatar de Ferdev Ferdev Registrado desde 30/09/09 / Número de posts: 11
    Comprueba que exista el socket:
    ls /tmp/mysqld.sock

    Si no existe, el comando anterior te dirá que no ha encontrado el archivo y tendrás que crear tu el enlace simbólico.

    Depende de la versión del sistema operativo, y de la versión de mysql, el socket estará en un lugar u otro. Tendrás que localizar el socket original, y hacer un enlace simbólico:
    ln -s /ruta/al/socket/original.sock /tmp/mysqld.sock

    Tiene toda la pinta que este es tu problema :) Saludos!
    Publicado hace 2 años
  • Avatar de ernexbcn ernexbcn Registrado desde 29/01/07 / Número de posts: 686
    No creo que tenga acceso SSH o sepa cómo va eso…
    Publicado hace 2 años
  • Avatar de Ralf Ralf Registrado desde 07/10/08 / Número de posts: 229
    efectivamente ernexbcn, ¿esa ruta debo ponerla en el navegador? ¿desde el dominio de la web? Lo dicho, la programación no es lo mío...
    Publicado hace 2 años
  • Avatar de Ferdev Ferdev Registrado desde 30/09/09 / Número de posts: 11
    Sí, perdón, pensé que tendrías acceso ssh. Si no tienes acceso por ahí no te sirve de nada :) Pregúntale al hosting cual es la ruta del socket y revisa los parámetros de configuración como te ha indicado ernexbcn :)
    Publicado hace 2 años
  • Avatar de dagi3d dagi3d Registrado desde 13/12/03 / Número de posts: 1054
    también podría ocurrir que en lugar de conectarse por el socket tenga que hacerlo a través de un host. prueba indicando el nombre de éste en los parámetros que estés utilizando para conectarte. si no te sabes el nombre prueba con 'localhost'
    Publicado hace 2 años
  • Avatar de Esteban Esteban Registrado desde 17/10/08 / Número de posts: 27
    como dice dagi3d podrias mirar la forma de conectar con la base de datos, ya que con mysql_connect puedes pasarle el socket "localhost:/tmp/mysql.sock" o ponerle el servidor "localhost:puerto" al que quieres conectarte. En el codigo que utilizas para conectar a la bd busca la linea que ponga mysql_connect y ponle algo asi mysql_connect('host', 'usuario', 'contraseña');.

    Te dejo el link a la web de php con la info de mysql_connect:

    http://php.net/manual/en/function.mysql-connect.php
    Publicado hace 2 años
  • Avatar de Ralf Ralf Registrado desde 07/10/08 / Número de posts: 229
    Muchísimas gracias por la ayuda. Iré trasteando con toda esta información y os cuento como me ha ido.
    Publicado hace 2 años
  • Avatar de Ralf Ralf Registrado desde 07/10/08 / Número de posts: 229
    La cosa se va liando, ahora sale un mensaje como este en dos de las secciones:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    Pero en Inicio no sale nada, ni en productos ni en ofertas. Estoy mirando el html por si hay algo que se me pasa, pero estoy a punto de tirar la toalla. O hago un curso de php o me muero de los nervios. Gracias de todas maneras por vuestra ayuda...
    Publicado hace 2 años
  • Avatar de Esteban Esteban Registrado desde 17/10/08 / Número de posts: 27
    Eso quiere decir que no le estas pasando el parametro correcto a la funcion mysql_fetch_array. Tenes que mirar que la variable en donde estas guardando lo que te devuelve la funcion mysql_db_query o mysql_query, se la estes pasando a la funcion mysql_fetch_array.

    <?php
    $resultado = mysql_query('SELECT * FROM tabla');
    $fila = mysql_fetch_array($resultado);
    ?>
    Publicado hace 2 años
  • Avatar de Ralf Ralf Registrado desde 07/10/08 / Número de posts: 229
    Finalmente ya he conseguido que la web "lea" los datos de la BBDD. Gracias a todos por vuestra ayuda, de verdad que cada día me alegro más de pertenecer a la familia "domestika". ¡¡¡Un saludo a todos!!!
    Publicado hace 2 años
  • Avatar de Ralf Ralf Registrado desde 07/10/08 / Número de posts: 229
    Hola amigos, reabro el hilo. La web va avanzando (muuuuy lentamente) pero ahora me ha salido un enanito: cuando subo fotos no me las pilla, aunque las pongo en el formato que toca y en el tamaño que manda, en la web me sale el recuadro indicando que ahí hay una imágen pero no la saca. Joder, cuando piensas que lo tienes todo atadito, se te empieza a desmontar la paraeta. ¿Alguien que me eche un cablecito?...
    Por cierto, la web...
    Publicado hace 2 años