Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| mysql:errors [2015/10/19 08:30] – [Решение] 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 | ||
| - | === Исправление === | + | ==== Исправление |
| - | * Выставляем число дескрипторов в 4096 | + | |
| - | * < | + | |
| + | * < | ||
| + | mysql hard | ||
| + | mysql | ||
| + | * Временно увеличиваем число открытых дескрипторов файлов\\ (настройки сохраняются до перезагрузки машины)< | ||
| + | * Проверить настройки можно <code bash>$ ulimit -a</ | ||
| * nano / | * nano / | ||
| - | * < | + | |
| + | | ||
| + | [mysqld] | ||
| + | open_files_limit | ||
| + | </ | ||
| + | или | ||
| + | * Выставляем число дескрипторов в разрешенных | ||
| + | * < | ||
| + | * Перезапускаем сервер | ||
| + | * <code sh># service mysql restart</ | ||
| + | |||
| + | === 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> | ||