Форум web-мастеров phpBB3

Модификации и расширения phpBB
Регистрация ·  Логин: Пароль: Запомнить   · Забыли пароль?




Ответить на тему
Пред. тема | След. тема 
Автор Сообщение
Admin
Аватара пользователя

Карма
29
Стаж: 6 лет 1 месяц
Сообщения: 312
Россия

Ответить с цитатой

Есть у меня один сайт в большим форумом. База на MySQL в несколько сотен тысяч сообщений требует регулярного обслуживания, там неизбежно возникают ошибки, пускай и мелкие, но они имеют свойство накапливаться, и если подзабросить сайт на несколько месяцев, то возможно возникновение проблем. В большинстве случаев все легко решается простой оптимизацией таблиц (тех, которым эта оптимизация нужна) через phpMyAdmin, иногда какие-то таблицы приходится восстанавливать. Но иногда проблема оказывается слишком серьезной и phpMyAdmin банально виснет пытаясь восстановить огромную таблицу. Вот тут то на помощь и приходит возможность зайти и все исправить через SSH.

Что такое 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

Вывести информацию о версии и выйти из программы.

Общий формат запуска утилиты (в зависимости от потребностей чинить ли отдельные таблицы в базе, отдельные базы, или все сразу):


Профиль  Отправить личное сообщение
Идеальный заработок для торрент-трекеров
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Ответить на тему

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron



Powered by phpBB, 9CaraTT.RU, 2012-2018.
Обратная связь
000webhost logo