Su centos 7 con mysql 5.6 avevo necessità di effettuare il backup di tutte le tabelle e di tutti i database della mia macchina di sviluppo ma ricevevo l'errore in oggetto.
Ho trovato delle indicazioni che dicevano di variare il valore del parametro
open_files_limit in my.cnf
nonostante il vaore fosse stato modificato e riavviato il servizio la variabile continuava ad avere il valore 1024. (verificato tramite SHOW VARIABLES LIKE 'open%';)
La soluzione è la seguente
editare il file
nano /usr/lib/systemd/system/mysqld.service
Inserendo le seguenti righe in calce e salvare
LimitNOFILE=infinity
LimitMEMLOCK=infinity
Riavviare i servizi
systemctl daemon-reload
service mysqld restart