Блог Синявского
  • Разделы
  • Метки
  • Все статьи

Checking for corrupt, not cleanly closed and upgrade needing tables

1

При запуске сервера MySQL

#service mysql start
[ ok ] Starting MySQL database server: mysqld ..
[info] Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..

Необходимо проверить таблицы, которые были закрыты не корректно и нуждаются в обновлении.

mysql_upgrade --force -u root -p

этой функцией нужно пользоваться при обновлении базы данных MySQL

mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p

Функция mysqlcheck это упрощенная версия myisamchk. Подходит для всех типов хранилища. mysqlcheck нужно запускать при запущенном сервере MySQL. mysqlcheck включает в себя CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE.

--auto-repair - если таблица повреждена автоматически исправляет ее

Для хранилища типа MyISAM используется специальная команда:

myisamchk --recover <path to *.myi>

myisamchk нужно запускать при остановленном сервере MySQL.

myisamchk --safe-recover <path to *.myi>

По-умолчанию служебная таблица mysql создается с типом MyISAM. В Ubuntu эта таблица хранится в директории /var/lib/mysql/mysql/

При остановленном сервере запускаем:

myisamchk --safe-recover /var/lib/mysql/mysql/*.MYI

Запускаем сервер MySQL

# service mysql start
[ ok ] Starting MySQL database server: mysqld already running.


  • ← сюда
  • туда →

comments powered by Disqus

Опубликовано

11.04.2014

Обновление

17.07.2017

Категории

mysql

Тэги

  • mysql 7

Всегда на связи

  • Блог Синявского - Ничего не переносить на завтра, это тоже проблема с прокастинацией?
  • © Алексей Синявский, по лицензии CC BY-SA если не указано иное.
  • С использованием Pelican. Тема: Elegant от Talha Mansoor