Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
mysql:errors [2015/10/19 09:04] – [Решение] mirocow | mysql:errors [2017/12/03 09:19] (текущий) – [Исправление] mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
- | ====== MySql/ | + | ====== |
+ | |||
+ | ===== Deadlock found when trying to get lock ===== | ||
+ | |||
+ | < | ||
+ | SQLSTATE[40001]: | ||
+ | The SQL being executed was: UPDATE tbl_point | ||
+ | SET location = POINTFROMTEXT(CONCAT(' | ||
+ | </ | ||
+ | |||
+ | Для выяснения | ||
+ | |||
+ | ===== No such file or directory ===== | ||
+ | |||
+ | < | ||
+ | SQLSTATE[HY000] [2002] No such file or directory | ||
+ | </ | ||
+ | |||
+ | Ошибка появляется при неверном указании сокета для драйвера PDO **pdo_mysql.default_socket** | ||
+ | |||
+ | ===== Got error 28 from storage engin ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | * Got error 28 from storage engine - Закончилось место на диске | ||
+ | * MySQL Error: Out of resources when opening file ' | ||
===== Checking for corrupt, not cleanly closed and upgrade needing tables ===== | ===== Checking for corrupt, not cleanly closed and upgrade needing tables ===== | ||
+ | |||
+ | < | ||
* mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p | * mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p | ||
Строка 10: | Строка 37: | ||
===== Too many open files ===== | ===== Too many open files ===== | ||
- | * mysqladmin -uroot -p variables | grep open_files_limit | + | < |
- | ==== Решение | + | Превышение |
- | === Анализ состояния === | + | ==== Анализ состояния |
+ | * Сколько разрешено открывать файловых дескрипторов пользователю mysql (системные ограничения) | ||
+ | * <code sh># cat / | ||
+ | * Сколько разрешено открывать файловых дескрипторов (конфигурация) | ||
+ | * <code sh>cat / | ||
* Сколько занято дескрипторов | * Сколько занято дескрипторов | ||
* < | * < | ||
- | * Сколько разрешено открывать файловых дескрипторов пользователю mysql | ||
- | * < | ||
* Cколько дескрипторов разрешено в MySQL | * Cколько дескрипторов разрешено в MySQL | ||
- | * < | + | * < |
Variable_name | Variable_name | ||
open_files_limit | open_files_limit | ||
- | === Исправление === | + | ==== Исправление |
* nano / | * nano / | ||
+ | * Воставляем число файловых дескрипторов (для пользователя mysql) | ||
* <code sh> | * <code sh> | ||
mysql | mysql | ||
mysql | mysql | ||
- | * Проверяем выставленное число дескрипторов | + | * Временно |
- | * < | + | * Проверить настройки можно < |
- | * Выставляем число дескрипторов в 8192 | + | |
- | * < | + | |
* nano / | * nano / | ||
- | * < | + | |
+ | | ||
+ | [mysqld] | ||
+ | open_files_limit | ||
+ | </ | ||
+ | или | ||
+ | * Выставляем число дескрипторов в разрешенных | ||
+ | * < | ||
* Перезапускаем сервер | * Перезапускаем сервер | ||
* <code sh># service mysql restart</ | * <code sh># service mysql restart</ | ||
- | * Если не удается перезапустить сервер, | ||
- | * <code sh> | ||
+ | === PAM (Аунтификация) === | ||
+ | |||
+ | Если после перезапуска mysql не применил новые ограничения, | ||
+ | |||
+ | * Проверяем ограничения PAM | ||
+ | * <code sh>grep -r limits / | ||
+ | * Снимаем ограничение (Debian) | ||
+ | * <code sh>$ echo ' | ||
+ | * <code sh>$ echo ' | ||
+ | |||
+ | === systemd (Менеджер загрузки) === | ||
+ | |||
+ | * Сбрасываем ограничения в systemd | ||
+ | * <code sh>echo " | ||
+ | [Service] | ||
+ | LimitNOFILE=infinity | ||
+ | LimitMEMLOCK=infinity" | ||
+ | </ | ||
+ | * Перезагружаем настройки демона systemd | ||
+ | * <code sh> | ||