Что такое SSH я здесь объяснять не стану, подразумеваем что вы уже знаете что это и как этим пользоваться. По этому начнем сразу в главного.
Итак, заходим по SSH на сервер и набираем следующую команду:
- Код: Выделить всё
mysqlcheck -uваш_логин_базы -pваш_пароль_базы --auto-repair --check --optimize --all-databases
На место команды -uваш_логин_базы подставляете после -u свой логин, на место пароля - свой пароль. Тут все просто. Остальные инструкции обеспечивают проверку базы, в случае найденных ошибок восстановление, оптимизацию таблиц, ну и наконец последняя команда --all-databases означает что будут обработаны все базы данных. Работает эта утилита быстро, спокойно кушает то, на чем намертво виснет phpMyAdmin, в общем крайне полезная штука.
На случай если вам вдруг нужны другие команды утилиты mysqlcheck привожу тут списочек (его же можно получить просто набла в командной строке mysqlcheck или mysqlcheck -help):
- Код: Выделить всё
-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=...
Номер порта, используемого для подключения по TCP/IP.
- Код: Выделить всё
--protocol=(TCP | SOCKET | PIPE | MEMORY)
Для указания протокола соединения, который надлежит использовать. Новшество в MySQL 4.1.0.
- Код: Выделить всё
-q, --quick
При использовании данной опции совместно с CHECK TABLE предотвращается сканирование строк для корректировки неправильных связей. Это наиболее быстрый метод проверки. Если же использовать этот параметр с REPAIR TABLE, программа попытается восстановить только систему индексов. Это наиболее быстрый метод восстановления таблицы.
- Код: Выделить всё
-r, --repair
Может исправить почти все, за исключением уникальных ключей, имеющих дубликаты.
- Код: Выделить всё
-s, --silent
Выводить только сообщения об ошибках.
- Код: Выделить всё
-S, --socket=...
Файл сокета, используемый для подсоединения.
- Код: Выделить всё
--tables
Перекрывает опцию --databases (-B).
- Код: Выделить всё
-u, --user=#
Имя пользователя MySQL, если этот пользователь в данное время не является активным.
- Код: Выделить всё
-v, --verbose
Вывести информацию о различных этапах.
- Код: Выделить всё
-V, --version
Вывести информацию о версии и выйти из программы.
Общий формат запуска утилиты (в зависимости от потребностей чинить ли отдельные таблицы в базе, отдельные базы, или все сразу):