FastNetMon

Saturday, 16 January 2010

MySQL и open_files_limit

Часто при использовании Inndb MySQL открываем очень много файлов и сваливается, т.к. упирается в лимит (1024 открытых файла). Текущее использование открытых файлов можно узнать так:

lsof -u mysql | wc -l


Если же оно приближается к 1024, то стоит в блок [mysqld] файла my.cnf добавить следующее:

open_files_limit = 8192


И перезапустить СУБД:

/etc/init.d/mysqld restart

4 comments :

  1. И самое лично для меня печальное

    SQL-запрос:
    SET @ @global.open_files_limit =2000

    Ответ MySQL:
    #1238 - Variable 'open_files_limit' is a read only variable

    ReplyDelete
  2. Бился с проблемой очень долго и много где находил этот параметр, но знаний и опыта было недостаточно, чтоб вписать это именно в [mysqld]
    Благодарю за эту маленькую уточнялку, ибо в конфиге вообще не было сего параметра

    ReplyDelete
  3. Прикол в том, что у меня этот параметр равен 100000, но все равно - error 1030

    ReplyDelete
  4. open_files_limit и max_connections кроме всего связаны, рецепт работает только для System V, для Systemd создать конфиг # cat /lib/systemd/system/mysql.service.d/limit_nofile.conf
    [Service]
    LimitNOFILE=4096

    ReplyDelete

Note: only a member of this blog may post a comment.