Skip to main content
Enterprise applications
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Descrittori di file MySQL

Collaboratori

Per l'esecuzione, il server MySQL ha bisogno di descrittori di file, e i valori predefiniti non sono sufficienti.

Le utilizza per aprire nuove connessioni, archiviare tabelle nella cache, creare tabelle temporanee per risolvere query complesse e accedere a quelle persistenti. Se mysqld non è in grado di aprire nuovi file quando necessario, può smettere di funzionare correttamente. Un sintomo comune di questo problema è l'errore 24, "troppi file aperti". Il numero di descrittori di file che mysqld può aprire simultaneamente è definito dal open_files_limit opzione impostata nel file di configurazione (/etc/my.cnf). Ma open_files_limit dipende anche dai limiti del sistema operativo. Questa dipendenza rende l'impostazione della variabile più complicata.

MySQL non può impostare ITS open_files_limit opzione superiore a quanto specificato in ulimit 'open files'. Pertanto, è necessario impostare esplicitamente questi limiti a livello del sistema operativo per consentire a MySQL di aprire i file in base alle necessità. Ci sono due modi per controllare il limite dei file in Linux:

  • Il ulimit command fornisce rapidamente una descrizione dettagliata dei parametri consentiti o bloccati. Le modifiche apportate eseguendo questo comando non sono permanenti e si cancellano dopo un riavvio del sistema.

  • Modifiche al /etc/security/limit.conf i file sono permanenti e non sono interessati dal riavvio del sistema.

Assicurarsi di modificare sia i limiti hard che soft per l'utente mysql. I seguenti estratti provengono dalla configurazione:

mysql hard nofile 65535
mysql soft nofile 65353

In parallelo, aggiornare la stessa configurazione in my.cnf per utilizzare completamente i limiti dei file aperti.