too solucionar mysqli_real_connect mega many conexiones como aumentar mysql performance ubuntu

solucionar - No se puede aumentar max_open_files para Mysql max-connections en Ubuntu 15



too many connections mega (3)

A partir de MySQL 5.7.7, esto es lo que la documentación recomienda para Red Hat Enterprise Linux 7, Oracle Linux 7, CentOS 7, SUSE Linux Enterprise Server 12, Fedora 24 y 25:

https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html

En Ubuntu 16.04 el servicio se llama mysql, no mysqld, así que esto es lo que hice:

sudo mkdir /etc/systemd/system/mysql.service.d sudo vi /etc/systemd/system/mysql.service.d/override.conf

Se agregó esto en el nuevo archivo override.conf:

[Service] LimitNOFILE=5000

Luego reinició el servicio:

sudo systemctl daemon-reload sudo systemctl restart mysql

Estoy ejecutando esta versión de Mysql

Ver 14.14 Distrib 5.6.24, for debian-linux-gnu (x86_64)

En esta versión de Ubuntu

Distributor ID: Ubuntu Description: Ubuntu 15.04 Release: 15.04 Codename: vivid

Esta es la configuración que configuré para Mysql:

key_buffer_size = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 innodb_buffer_pool_size=20G innodb_log_buffer_size=16M tmp_table_size = 32M max_heap_table_size = 32M open-files-limit=4510 max_connections=500 myisam-recover = BACKUP query_cache_type=1 query_cache_limit = 32M query_cache_size = 32M

Estas son las advertencias que sigo recibiendo al iniciar MYSQL:

2015-06-17 17:28:53 26720 [Warning] Buffered warning: Could not increase number of max_open_files to more than 1024 (request: 4510) 2015-06-17 17:28:53 26720 [Warning] Buffered warning: Changed limits: max_connections: 214 (requested 500) 2015-06-17 17:28:53 26720 [Warning] Buffered warning: Changed limits: table_open_cache: 400 (requested 2000)

Ya probé estos pasos:

1) Agregar esto a /etc/security/limits.conf

mysql soft nofile 65535 mysql hard no file 65535

2) Agregar esto a /etc/pam.d/common-auth y /etc/pam.d/commom-session

session required pam_limits.so

3) Agregue esto a /etc/mysql/mysql.conf.d/mysqld.cnf

open-files-limit=4510 or open_files_limit=4510

Ninguno de estos ha funcionado y todavía no puedo aumentar las conexiones de mysql max a 500.

Realmente apreciaría algo de ayuda en este punto.

Muchas gracias por adelantado.


Le sugiero que no copie el archivo mysql.service existente como se sugiere, solo cree un archivo con solo los cambios que le interesan. Entonces hazlo

mkdir /lib/systemd/system/mysql.service.d vim /etc/systemd/system/mysql.service.d/limits.conf

Y el contenido de limits.conf es simple:

[Service] LimitNOFILE=10000 LimitMEMLOCK=10000

o los límites que prefieras


Ubuntu se movió de Upstart a Systemd en la versión 15.04 y ya no respeta los límites en /etc/security/limits.conf para los servicios del sistema. Estos límites ahora se aplican solo a las sesiones de los usuarios.

Los límites para el servicio MySQL se definen en el archivo de configuración de Systemd, que debe copiar desde su ubicación predeterminada en / etc / systemd y luego editar la copia.

sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/ sudo vim /etc/systemd/system/mysql.service # or your editor of choice

Agregue las siguientes líneas al final del archivo:

LimitNOFILE=infinity LimitMEMLOCK=infinity

También podría establecer un límite numérico, por ejemplo, LimitNOFILE=4510 .

Ahora vuelva a cargar la configuración de Systemd con:

sudo systemctl daemon-reload

Reinicie MySQL y ahora debe obedecer la directiva max_connections.

También tuve problemas para detener MySQL limpiamente después de actualizar a 15.04. Si esto te afecta (lo sabrás porque tardará 300 segundos en terminar cuando haces el service mysql stop o service mysql restart ), entonces al agregar la siguiente línea al mismo archivo /etc/systemd/system/mysql.service se arregló para mi:

ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown

Este último problema parece haber sido corregido por 16.04 y esta línea ya no es necesaria, por lo que antes de realizar una actualización de distribución, querrá detener MySQL y eliminar la línea ExecStop del archivo de configuración.