Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
mysql:errors [2015/10/19 10:05] – [Решение] mirocowmysql:errors [2017/12/03 09:19] (текущий) – [Исправление] mirocow
Строка 1: Строка 1:
-{{tag>mysql mariadb}}+{{tag>mysql mariadb percona errors}}
  
-====== MySql/MariaDB Исправление ошибок ======+====== Ошибки MySql/MariaDB ====== 
 + 
 +===== Deadlock found when trying to get lock ===== 
 + 
 +<code> 
 +SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction 
 +The SQL being executed was: UPDATE tbl_point 
 +SET location = POINTFROMTEXT(CONCAT('POINT(55.683452 37.526923)')) 
 +</code> 
 + 
 +Для выяснения причины ошибки, необходимо запустить **SHOW ENGINE INNODB STATUS;** 
 + 
 +===== No such file or directory ===== 
 + 
 +<code> 
 +SQLSTATE[HY000] [2002] No such file or directory 
 +</code> 
 + 
 +Ошибка появляется при неверном указании сокета для драйвера PDO **pdo_mysql.default_socket** 
 + 
 +===== Got error 28 from storage engin ===== 
 + 
 +<code>Got error 28 from storage engine</code> 
 + 
 +  * Got error 28 from storage engine - Закончилось место на диске 
 +  * MySQL Error: Out of resources when opening file './db_name/table_name.MYD' (Errcode: 24)
  
 ===== Checking for corrupt, not cleanly closed and upgrade needing tables ===== ===== Checking for corrupt, not cleanly closed and upgrade needing tables =====
 +
 +<code>Checking for corrupt, not cleanly closed and upgrade needing tables</code>
  
   * 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 =====
  
-Превышение одновременно открытых дескрипторов+<code>Can't read dir of '.' (Errcode: 24 "Too many open files")</code>
  
-==== Решение ====+Превышение одновременно открытых дескрипторов
  
-=== Анализ состояния ===+==== Анализ состояния ====
  
   * Сколько разрешено открывать файловых дескрипторов пользователю mysql (системные ограничения)   * Сколько разрешено открывать файловых дескрипторов пользователю mysql (системные ограничения)
Строка 27: Строка 54:
 open_files_limit    1024</code> open_files_limit    1024</code>
  
-=== Исправление ===+==== Исправление ====
  
   * nano /etc/security/limits.conf   * nano /etc/security/limits.conf
Строка 34: Строка 61:
 mysql           hard    nofile          102400 mysql           hard    nofile          102400
 mysql           soft    nofile          102400</code> mysql           soft    nofile          102400</code>
 +  * Временно увеличиваем число открытых дескрипторов файлов\\ (настройки сохраняются до перезагрузки машины)<code bash>$ ulimit -n 102400</code>
 +  * Проверить настройки можно <code bash>$ ulimit -a</code>
   * nano /etc/mysql/my.cnf   * nano /etc/mysql/my.cnf
   * Выставляем число одновременно открытых файлов в конфигурации   * Выставляем число одновременно открытых файлов в конфигурации
-  * <code>open_files_limit 8192</code>+  * <code> 
 +[mysqld] 
 +open_files_limit 8192 
 +</code>
 или или
   * Выставляем число дескрипторов в разрешенных   * Выставляем число дескрипторов в разрешенных
Строка 43: Строка 75:
   * <code sh># service mysql restart</code>   * <code sh># service mysql restart</code>
  
-== PAM ==+=== PAM (Аунтификация) ===
  
 Если после перезапуска mysql не применил новые ограничения, значит PAM это запретил. Тогда добавляем разрешение в PAM. Если после перезапуска mysql не применил новые ограничения, значит PAM это запретил. Тогда добавляем разрешение в PAM.
Строка 51: Строка 83:
   * Снимаем ограничение (Debian)   * Снимаем ограничение (Debian)
   * <code sh>$ echo 'session required pam_limits.so' >> /etc/pam.d/common-session</code>   * <code sh>$ echo 'session required pam_limits.so' >> /etc/pam.d/common-session</code>
 +  * <code sh>$ echo 'session required pam_limits.so' >> /etc/pam.d/common-session-noninteractive</code>
  
-== systemd ==+=== systemd (Менеджер загрузки) ===
  
   * Сбрасываем ограничения в systemd   * Сбрасываем ограничения в systemd