Это старая версия документа!


MySql/MariaDB Исправление ошибок

  • mysqlcheck –check-upgrade –all-databases –auto-repair -u root -p
  • mysql_upgrade –force -u root -p
  • mysqladmin -uroot -p variables | grep open_files_limit

Анализ состояния

  • Проверяем разрешенное число файловых дескрипторов
  • # cat /etc/security/limits.conf | grep -vP '^#'

  • Сколько занято дескрипторов
  • lsof -u mysql | wc -l

  • Сколько разрешено открывать файловых дескрипторов пользователю mysql
  • # mysql -c 'ulimit -n'

  • Cколько дескрипторов разрешено в MySQL
  • # mysql -se "show variables like 'open_files_limit'"
    Variable_name       Value
    open_files_limit    1024

Исправление

  • nano /etc/security/limits.conf
  • Воставляем число файловых дескрипторов
  • mysql           hard    nofile          102400
    mysql           soft    nofile          102400

  • Выставляем число дескрипторов в 8192
  • echo 'mysql  -  nofile  8192' > /etc/security/limits.d/mysql.conf

  • nano /etc/mysql/my.cnf
  • open_files_limit 8192

  • Перезапускаем сервер
  • # service mysql restart

  • Если не удается перезапустить сервер, то подключаемся к MySQL под привилегированным пользователем и выполняем
  • mysql> SET GLOBAL open_files_limit=8192;