If MySQL does not start:
vim /etc/my.conf
[mysqld]
innodb_force_recovery = 1
service mysql start
dump all data:
mysqldump database | gzip > database.sql.gz
integrity check:
mysqlcheck --auto-repair --all-databases -p
The following are possible options for mysqlcheck. You can check which of them are supported by your version using the mysqlcheck --help command.
-
-A, --all-databases -
Проверить все базы данных. Аналогична опции
--databases, если указать все базы данных. -
-1, --all-in-1 -
Вместо выполнения запросов для каждой таблицы в отдельности выполнить все запросы в одном отдельно для каждой таблицы. Имена таблиц будут представлены в виде списка имен, разделенных запятой.
-
-a, --analyze -
Анализировать данные таблицы.
-
--auto-repair -
Если проверенная таблица повреждена, автоматически восстановить ее. Исправления будут произведены после проверки всех таблиц, если были обнаружены повреждения.
-
-#, --debug=... -
Выводит информацию журнала отладки. Часто используется следующий набор параметров: 'd:t:o,filename'
-
--character-sets-dir=... -
Директория, где находятся установки символов.
-
-c, --check -
Проверить таблицу на наличие ошибок.
-
-C, --check-only-changed -
Проверить только таблицы, измененные со времени последней проверки или некорректно закрытые.
-
--compress -
Использовать сжатие данных в протоколе сервер/клиент.
-
-?, --help -
Вывести данную вспомогательную информацию и выйти из программы.
-
-B, --databases -
Проверить несколько баз данных. Обратите внимание на разницу в использовании: в этом случае таблицы не указываются. Все имена аргументов рассматриваются как имена баз данных.
-
--default-character-set=... -
Установить набор символов по умолчанию.
-
-F, --fast -
Проверить только базы данных, которые не были закрыты должным образом.
-
-f, --force -
Продолжать даже при получении ошибки SQL.
-
-e, --extended -
При использовании данного параметра совместно с
CHECK TABLEможно быть на 100 процентов быть уверенным в целостности таблицы, хотя это и займет много времени. Если же использовать этот параметр сREPAIR TABLE, запустится расширенное восстановление таблицы, которое может потребовать не только длительного времени выполнения, но и привнесет также массу ненужных строк! -
-h, --host=... -
Подключиться к хосту.
-
-m, --medium-check -
Быстрее, чем
--extended-check, но находит только 99,99 процентов всех ошибок. Для большинства случаев этот вариант вполне подходит. -
-o, --optimize -
Оптимизировать таблицу.
-
-p, --password[=...] -
Используемый пароль при подключении к серверу. Если пароль не указан, у пользователя запрашивается пароль с терминала.
-
-P, --port=... -
Номер порта, используемого для подключения.
-
-q, --quick -
При использовании данной опции совместно с
CHECK TABLEпредотвращается сканирование строк для корректировки неправильных связей. Это наиболее быстрый метод проверки. Если же использовать этот параметр сREPAIR TABLE, программа попытается восстановить только систему индексов. Это наиболее быстрый метод восстановления таблицы. -
-r, --repair -
Может исправить почти все, за исключением уникальных ключей, имеющих дубликаты.
-
-s, --silent -
Выводить только сообщения об ошибках.
-
-S, --socket=... -
Файл сокета, используемый для подсоединения.
-
--tables -
Перекрывает опцию
--databases(-B). -
-u, --user=# -
Имя пользователя MySQL, если этот пользователь в данное время не является активным.
