Estoy tratando de aumentar el tamaño de la innodb_buffer_pool_size en MySQL 5.1, como sigo corriendo en la siguiente error indicando que me he quedado sin espacio para la tabla de bloqueos.

ERROR: The total number of locks exceeds the lock table size
Error
Code: 1206

He ido a través de la documentación y por lo que pude ver, necesito actualizar innodb_buffer_pool_size en el /etc/my.cnf archivo. Mi valor actual es de 8M. Sin embargo, incluso después de crear el archivo y añadir la siguiente línea para establecer el valor no es la actualización en MySQL.

set-variable=innodb_buffer_pool_size=256M

¿ Tiene algún consejo sobre cómo puedo ajustar este valor en MySQL en mi mac? Cualquier otro consejo o sugerencia?

5 Comentarios

  1. 60

    agregar esto a mi.cnf

    innodb_buffer_pool_size=1G

    reiniciar el mysql para hacer efecto

    • gracias por tu ayuda. He añadido lo que propuso sin éxito. He comprobado el innodb_buffer_pool_size después y todavía era 8M. Mi archivo es /etc/my.cnf. Debe estar en una ubicación diferente? no necesito de nada en el archivo?
    • puede ser su archivo de configuración de mysql es ~/.mi.cnf, ¿cómo se puede iniciar mysql?, intente utilizar esta secuencia de comandos dev.mysql.com/doc/refman/5.0/en/mysql-server.html
    • Estoy corriendo en un Mac y MySQL se inicia cuando inicio mi laptop, hace a través de una opción de preferencia.
    • ¿el ~/.mi.cnf existen?
    • No. He añadido y que no hacer una diferencia. mismo problema. Alguna sugerencia?
    • En Ubuntu (y posiblemente otras distribuciones de linux), el my.cnf archivo está en /etc/mysql/my.cnf no /etc/my.cnf.
    • también se recomienda para aumentar la ‘innodb_buffer_pool_instances’ cuando se utiliza 1 g o más tamaño de búfer. se suele mejorar el rendimiento.

  2. 28

    Tuve que poner la declaración en virtud de la [mysqld] del bloque para hacer que funcione. De lo contrario el cambio no se refleja. Tengo un REL de distribución.

    • lo siento, esto estaba destinado a ser una retroalimentación en la respuesta anterior. Me refería a poner innodb_buffer_pool_size=1G dentro de la sección [mysqld].
  3. 14

    En las versiones anteriores de MySQL ( < 5.7.5 ) la única manera de establecer

    ‘innodb_buffer_pool_size’

    variable fue por escrito a mi.cnf (para linux) y mi.ini (para windows) bajo la sección [mysqld]:

    [mysqld]
    
    innodb_buffer_pool_size = 2147483648

    Es necesario reiniciar el servidor mysql a tener su efecto en la acción.

    ACTUALIZACIÓN :

    MySQL 5.7.5, el innodb_buffer_pool_size opción de configuración
    se puede establecer de forma dinámica mediante una instrucción SET, que permite cambiar de tamaño
    el grupo de búferes sin reiniciar el servidor. Por ejemplo:

    mysql> SET GLOBAL innodb_buffer_pool_size=402653184;

    Referencia : https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html

  4. 3

    Para el estándar de OS X instalación de MySQL se encuentra mi.cnf localizado en /etc/carpeta.

    Pasos para actualizar esta variable:

    1. Terminal De Carga.
    2. Tipo cd /etc/.
    3. sudo vi my.cnf.
    4. Este archivo debe existir (si no lo está, utilice sudo find /-name 'my.cnf' 2>1 – esto va a ocultar los errores y sólo el informe de la successfile ubicación del archivo).
    5. El uso de vi(m) encontrar la línea innodb_buffer_pool_size, pulse i para empezar a hacer cambios.
    6. Cuando haya terminado, presione la tecla esc, ctrl+colon y el tipo de wq.
    7. De lucro (hecho).
    • «localizar mi.cnf» («sudo updatedb» si no se encuentra) será mucho más rápido que una búsqueda de la raíz, especialmente en un gran sistema de archivos. Si no puede utilizar localizar, sin embargo, echar un vistazo a osxdaily.com/2011/11/02/…
    • Bueno, además, parece ser una especie de caché función de búsqueda. Gracias Eric.
  5. 1

    Como se ha dicho,

    innodb_buffer_pool_size=50M

    Siguientes de la convención sobre las otras variables predefinidas, asegúrese de que no hay espacio en ambos lados del signo igual.

    A continuación, ejecute

    sudo service mysqld stop
    sudo service mysqld start

    Nota

    A veces, por ejemplo, en Ubuntu, el demonio de MySQL se denomina mysql frente a mysqld

    Me parece que la ejecución de /etc/init.d/mysqld restart no siempre funciona y usted puede obtener un error como

    Stopping mysqld:                                           [FAILED]
    Starting mysqld:                                           [  OK  ]

    Para ver si la variable ha sido establecer, ejecutar show variables y ver si el valor ha sido actualizado.

Dejar respuesta

Please enter your comment!
Please enter your name here