Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>mysql mariadb}} ====== MySql/MariaDB Исправление ошибок ====== ===== Checking for corrupt, not cleanly closed and upgrade needing tables ===== * mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p * mysql_upgrade --force -u root -p ===== Too many open files ===== Превышение одновременно открытых дескрипторов ==== Решение ==== === Анализ состояния === * Сколько разрешено открывать файловых дескрипторов пользователю mysql (системные ограничения) * <code sh># cat /etc/security/limits.conf | grep -vP '^#'</code> * Сколько разрешено открывать файловых дескрипторов (конфигурация) * <code sh>cat /etc/mysql/my.cnf|grep open_files_limit</code> * Сколько занято дескрипторов * <code>lsof -u mysql | wc -l</code> * Cколько дескрипторов разрешено в MySQL * <code># mysql -se "show variables like 'open_files_limit'" -uroot -p Variable_name Value open_files_limit 1024</code> === Исправление === * nano /etc/security/limits.conf * Воставляем число файловых дескрипторов (для пользователя mysql) * <code sh> mysql hard nofile 102400 mysql soft nofile 102400</code> * Выставляем число дескрипторов в 8192 * <code>echo 'mysql - nofile 8192' > /etc/security/limits.d/mysql.conf</code> * nano /etc/mysql/my.cnf * <code>open_files_limit 8192</code> * Перезапускаем сервер * <code sh># service mysql restart</code> == systemd == * Сбрасываем ограничения в systemd * <code sh>echo " [Service] LimitNOFILE=infinity LimitMEMLOCK=infinity" > /etc/systemd/system/mysqld.service </code> * Перезагружаем настройки демона systemd * <code sh>systemctl reload mariadb.service</code> СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal