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

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

 

Коды ошибок MySQL

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

perror 24

OS error code 24: Too many open files

 

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

 

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

 

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

 

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

ulimit -n 2048

 

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