1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

problemas con una base de datos

Tema en 'Asuntos Técnicos' iniciado por alberto2002, 7 Feb 2008.

  1. alberto2002

    alberto2002 Nuevo usuario

    Buenas espero no equivocarme de seccion

    Hola mi nombre es alberto tengo un VPS se supone que administrado y pedi ayuda a mi soporte para que me modificaran o me guiaran para modificar un valor de la configuracion ya que dentro de dicho VPS tengo instalado un foro Vbulletin y al querer subir archivos mayores de 1M me marca error les dije que si podian modificarme el max_allowed_packet mysql‏ y me dijeron que buscara algo que ya habia modificado pero no era lo que yo les pedi.

    bueno me di a la tarea de buscar, como hacerlo yo mismo y encontre como hacerlo en una pagina,
    entre al root con el programa WinSCP (Tipo FTP)
    busque el archivo en cuestion
    /etc/my.cnf y cuando entre a ese archivo no tenia mas que esto:
    PHP:
    [mysqld]
    local-infile=0
    y en la pagina que encontre decia que pusiera esto:
    PHP:
    skip-locking
    skip
    -innodb
    query_cache_limit
    =1M
    query_cache_size
    =32M
    query_cache_type
    =1
    max_connections
    =500
    interactive_timeout
    =100
    wait_timeout
    =100
    connect_timeout
    =10
    thread_cache_size
    =128
    key_buffer
    =16M
    join_buffer
    =1M
    max_allowed_packet
    =16M
    table_cache
    =1024
    record_buffer
    =1M
    sort_buffer_size
    =2M
    read_buffer_size
    =2M
    max_connect_errors
    =10
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency=2
    myisam_sort_buffer_size
    =64M
    log
    -bin
    server
    -id=1

    [mysql.server]
    basedir=/var/lib
    user
    =mysql

    [client]
    socket = /var/run/mysqld/mysqld.sock

    [safe_mysqld]

    err-log=/var/log/mysqld.log
    open_files_limit
    =8192

    [mysqldump]
    quick
    max_allowed_packet
    =16M

    [mysql]
    no-auto-rehash
    #safe-updates

    [isamchk]
    key_buffer=64M
    sort_buffer
    =64M
    read_buffer
    =16M
    write_buffer
    =16M

    [myisamchk]
    key_buffer=64M
    sort_buffer
    =64M
    read_buffer
    =16M
    write_buffer
    =16M

    [mysqlhotcopy]
    interactive-timeout

    y al final solo resetear el mysql y asi lo hice
    /etc/init.d/mysqld restar

    resetie desde putty y marco stop fallido y start ok

    y oh sorpresa que ya no entraba la base de datos de mi foro arrojandome este error en el control panel de mi host:
    Error connecting to MySQL: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    y si trato de entrar al phpmyadmin me sale este error:
    phpMyAdmin - Error
    #2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)

    saque una copia del anterior my.cnf que tenia y lo instale resetie el mysqld y nada me marca el mismo error

    ya busque los dos en san google pero creo que me confundi mas, quiero aclarar que soy un novato en esto y la instruccion se me hizo muy sencilla y por eso lo hice.

    Trate de hacer otra base de datos y me marco el mismo error:
    Error connecting to MySQL: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    porfavor si alguien me puede ayudar ya estoy desesperado
     
  2.  
  3. ideasmultiples

    ideasmultiples Usuario activo

    max_allowed_packet mysql‏ -> no es el parámetro que hay que modificar para subir los ficheros, el límite es por el php no por mysql.

    socket = /var/run/mysqld/mysqld.sock -> Este parámetro es dependiente de tu configuración de mysql y además no lo está leyendo.

    Si has podido acceder a modificar el my.cnf mediante FTP tienes un grave problema de seguridad en tu configuración.

    Lo mejor que puedes hacer es dejar el my.cnf como estaba y resetear el VPS, si aún así persiste el error abre un ticket de soporte en tu proveedor.
     
  4. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Si te refieres a un archivo de base de datos que estás intentando subir vía phpMyAdmin, por ejemplo, entonces sí es un valor que debes/puedes modificar desde my.cnf

    Si es un archivo diferente, que estás intentando subir mediante un script PHP, entonces es como te ha dicho ideasmultiples.

    Saludos,
     
  5. alberto2002

    alberto2002 Nuevo usuario

    Gracias por su pronta respuesta a los dos.

    Si de hecho esos que tu mencionas ya los modifique en el php.ini y si el foro me los reconoce con los valores que yo le asigne.
    pero el problema es que al parecer Vbulletin guarda por defoaul todos los adjuntos en la base de datos entonces cuando adjunto algun archivo mayor a 1M me marca el errar y no sube nada.

    Si, algo alcanse a entender en los foros gringos de que esta perdida la ruta, pero el problema es como enrruto nuevamente la base de datos.

    No, WinSCP es una interface para poder conectarse al root del servidor linux desde Windows muy similar al ambiente amigable de un programa FTP tipo arrastrar y soltar, editor de archivos y no tan complicado como el putty que se ambiente es muy complicado con ordenes tipo MsDos

    Y como se resetea el VPS? yo soy novatisimo en estos menesteres, ahunque soy un poco autodidacta me faltaaprender muchisisimode esto
     
  6. alberto2002

    alberto2002 Nuevo usuario

    Actualizando con lo referente a mi problema

    Segui el consejo de ideasmultiples y deje el my.cnf como estaba originalmente y reinicie el vps, una bronca por cierto porque no encontraba en todo san google como reiniciar el vps, pero encontre en el manual de directadmin como reiniciar el vps y se soluciono el problema, pero ahun buscare como cambiar el valor de max_allowed_packet mysql‏ porque este es el problema y no los valores que ya modifique en el php.ini

    Gracias

     
  7. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Es muy sencillo. Vuelve a abrir el archivo my.cnf y pon solamente esta línea allí, que es la que necesitas para eso:

    max_allowed_packet = 8M

    o más, si quieres admitir archivos más grandes que 8 MB.

    Luego reinicias MySQL y listo. No tienes que meter necesariamente todos esos otros valores que muy seguramente no conoces y no sabes cómo afectará el rendimiento de tu VPS. De hecho, tener 500 en max_connections es algo exagerado a menos que tengas más de 1 GB de memoria real asignada a tu VPS, y aún así sigue siendo un valor muy alto.

    Y pide asistencia a tu proveedor en casos como estos, en donde algo no te funcione.

    Saludos. :aprueba:
     
  8. ideasmultiples

    ideasmultiples Usuario activo


    max_allowed_packet no es para setear el mayor tamaño de un fichero sino el mayor tamaño que se puede manejar en un paquete de datos, cuando se sube un fichero no se procesa como un solo paquete, sino como un paquete por línea de transacción, por ejemplo en una lista de insert, cada insert completo es un paquete.

    Si fuera necesario aumentar el tamaño de esta variable recibiría el error "Packet too large" al hacer la transacción.

    Esta variable sólo se debe de modificar cuando se trabaja con tablas que usen registros muy grandes como blob por ejemplo.

    Aunque el modificarla no afecta el consumo de memoria, por que mysqld solamente reserva esta memoria cuando lo necesita, por ejemplo en consultas largas o cuando mysql devuelve cantidades grandes de registros.

    El valor por defecto es de 16MB.

    Yo creo que el problema le viene porque no ha modificado en el php.ini el valor máximo del tamaño que se puede subir en un fichero.
     
  9. alberto2002

    alberto2002 Nuevo usuario

    Gracias Apolo lo voy a intentar alcabo ya se como solucionar el problema sii me vuelve a traicionar mi novates.

    Ideasmultiples te voy a demostrar con pruebas que que archivo php.ini ya esta modificado y se ve en la captura siguiente que hice de mi control panel de Vbulletin y veras que los cambios que le hice se ven reflejados de hecho los puse a 10M como los veras.

    y para comprovarte que si es lo que yo te digo de modificar el max_allowed_packet=1M aqui te mando el error que me marca al tratar de subir un archivo de 1.6M
    PHP:
    Database error in vBulletin 3.7.0 Beta 4:

    Invalid SQL:
    INSERT INTO attachment
        
    (datelinethumbnail_datelinevisibleuseridextensionfilenameposthashfilehashfilesizefiledata)
    VALUES
        
    (1202453528120245352811'zip''Motorola_End_User_Driver_Installation_2.8.0.zip''
    MySQL Error   : Got a packet bigger than '
    max_allowed_packet' bytes
    Error Number  : 1153
    Esto no es con el afan de contradecirte pero ya habia leido el error que me marcaba a cada rato por eso lo comentaba, se que sabes muchisimo mas que yo y creeme que respetos tus aportaciones pero es mejor reconocer que uno no lo sabe todo y que es de sabios equivocarse, de todas maneras he aprendido muchisimo de tus comentarios
     

    Adjuntos:

  10. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Al decir "archivo" lo dije en términos generales, como cuando tengo por ejemplo un archivo .sql y lo quiero subir vía phpMyAdmin y tengo problemas cuando el tamaño es mayor al establecido en max_allowed_packet

    Similar a lo que acaba de mencionar alberto2002, cuando al intentar insertar un "archivo" en la base de datos y que excede el tamaño establecido en esa variable de MySQL, le muestra ese error.

    Saludos. :aprueba:
     
  11. alberto2002

    alberto2002 Nuevo usuario

    Gracias Apolo, de haber sabido que era tan facil y tanto que me complique la vida, pero para eso estan los que saben para que guien a los que no sabemos o mejor dicho estamos en proceso de.

    Como veras Apolo en la captura sig hice lo que me mencionastes agregue solo la linea esa al my.cnf y reinicie el MySql y listo ya se ve refrejado los 10M que le puse y mejor ahun ya hice la prueba y si me dejo subir ese mismo archivo que puse en el ejemplo anterior de 1.6M
     

    Adjuntos:

  12. ideasmultiples

    ideasmultiples Usuario activo

    alberto2002, en tu post no habías mencionado el error en ningún sitio, por eso te puse en el texto "Si fuera necesario aumentar el tamaño de esta variable recibiría el error "Packet too large" al hacer la transacción"...

    Para evitarse ese problema la próxima vez que exporteís los datos en phpMyAdmin, no marqueís la casilla, "INSERTs extendidos" y además de que te evitarás el tener que modificar el tamaño de "max_allowed_packet" podreis comprobar que la importación de la DDBB carga mucho menos el servidor.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·