Коды ошибок MySQL, использование perror


Коды ошибок MySQL пишутся в лог, в некоторых случаях с пояснением, в некоторых случаях — без него. Расшифровать код может perror.



perror — утилита, которая устанавливается вместе с MySQL. Ей при работе в консоли передается только код ошибки, утилита возвращает её описание.



Все сообщения об ошибках пишутся в лог, для этого его ведение должно быть включено.



Ошибки могут быть, например, такие, которые приведены ниже

tail -n 2 /var/log/mysql/mysql-error.log

17:45:52 [ERROR] mysqld: Can't open file: './1111/captcha.frm' (errno: 24)110312
17:45:52 [ERROR] mysqld: Can't open file: './1111/captcha.frm' (errno: 24)



Как получить информацию с помощью perror имея коды ошибок MySQL


В скобках указан код, его нужно передать perror

perror 24

OS error code 24: Too many open files


Коды ошибок MySQL


Из текста данной ошибки понятно в чем причина. В других случаях это может быть не так, но имея коды ошибок MySQL всегда можно получить подробную информацию.



Как устранить ошибку из примера


1.

Для устранения ошибки из примера нужно увеличивать значение, задаваемое директивой open_files_limit в /etc/mysql/my.cnf



2.

Также следует проверить системные лимиты в /etc/security/limits.conf



В текущей сессии лимит устанавливается командой ulimit, которой передается ключ -n и численное значение.

ulimit -n 2048


Если установка open_files_limit не дает результата, причина обычно в ulimit.



3.

Дополнительно может потребоваться изменить лимит fs.file-max в системных настройках.

Это делается в файле /etc/sysctl.conf. В него нужно добавить или поменять значение директивы fs.file-max.



Правило со значением может выглядеть так:

fs.file-max = 100000


Затем нужна перезагрузка или перечитывание конфигурации настроек ядра за счёт sysctl -p

sysctl -p




Для каждого кода ошибки MySQL будет свой способ решения, имея описание ошибки можно понять в чём проблема и устранить её.

Читайте про оптимизацию настроек сервера баз данных MySQL. Оптимизация даст максимальную производительность и скорость работы, а также снизит вероятность возникновения ошибок.

Сказать спасибо