Ubuntu 16.04 Server MySql open_file_limit non supererà 65536

Sto eseguendo Ubuntu 16.04 Server su XenServer e sto eseguendo un problema con il limite di file aperto di MySql.

Ecco quello che ho fatto finora:

sudo nano /etc/security/limits.conf (riferimento)

* soft nofile 1024000 * hard nofile 1024000 * soft nproc 102400 * hard nproc 102400 mysql soft nofile 1024000 mysql hard nofile 1024000 

sudo nano /etc/init/mysql.conf (riferimento)

 limit nofile 1024000 1024000 limit nproc 102400 102400 

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf (riferimento)

 [mysqld_safe] open_files_limit = 1024000 [mysqld] open_files_limit = 1024000 

Quando il precedente non ha funzionato, sono andato al seguente:

sudo nano /etc/sysctl.conf

 fs.file-max = 1024000 

sudo nano /etc/pam.d/common-session

 session required pam_limits.so 

sudo nano /etc/pam.d/common-session-noninterattivo

 session required pam_limits.so 

sudo nano /lib/systemd/system/mysql.service

 LimitNOFILE=infinity LimitMEMLOCK=infinity 

Quando accedo il mio account utente, tutto sembra benissimo:

 ulimit -Hn 1024000 ulimit -Sn 1024000 

Se entri come mysql, mi sembra anche un bene:

 mysql@server:~$ ulimit -Hn 1024000 mysql@server:~$ ulimit -Sn 1024000 

Tuttavia, quando guardo il proc:

 ps -ef | grep mysql cat /proc/1023/limits | grep open Max open files 65536 65536 files 

O quando lo guardo in MySql:

 mysql> show global variables like 'open%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | open_files_limit | 65536 | +------------------+-------+ 

Dai log (/var/log/mysql/error.log):

2016-07-25T05: 44: 35.453668Z 0 [Avviso] Imansible aumentare il numero di file max_open_ a più di 65536 (richiesta: 1024000)

Sono completamente fuori di idee qui. All'inizio ho iniziato con open_files_limit a 1024, e uno di questi deve averlo cambiato, ma ho bisogno di andare più in alto. Sto colpendo questo limite già come ho molti database e tabelle che talvolta hanno molte partizioni.

Ho anche provato numbers less aggressivi di 1024000, senza fortuna.

Qualche idea là fuori?

  • "Apri i file" ulimit: controllando via limiti.conf
  • centos / redhat: cambiare i file aperti ulimit senza riavviare?
  • Come impostare ulimit in Solaris 10
  • Impostare il limite massimo di file su un process in esecuzione
  • puoi aiutarmi con questo semplice 'ulimit'?
  • non è ansible accedere quando il file nofile è impostato a illimitato in /etc/security/limits.conf
  • Come impostare ulimit per il mongod?
  • Come funziona il proxy nginx websocket?
  • One Solution collect form web for “Ubuntu 16.04 Server MySql open_file_limit non supererà 65536”

    Questo funziona per me su Ubuntu Xenial 16.04:

    Creare il dir /etc/systemd/system/mysql.service.d

    Inserisci in /etc/systemd/system/mysql.service.d/override.conf :

     [Service] LimitNOFILE=1024000 

    Esegui ora

     systemctl daemon-reload systemctl restart mysql.service 

    Sì infatti, LimitNOFILE=infinity realtà sembra impostarlo a 65536.

    È ansible validationre quanto sopra facendo:

     cat /proc/$(pgrep mysql)/limits | grep files 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.