Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Начинаем изучать MySQL
<<-[Весь Текст]
Страница: из 157
 <<-
 
нарушено. Использование нескольких -и увеличивает подробность вывода сведений.
isamchk -rq mytable
Эта команда осуществляет быструю проверку и при необходимости исправление 
только файла ISM, файл ISD при этом не проверяется.
isamchk -e mytable
С этим параметром производится полная проверка и исправление всего, что можно, 
и устранение любых повреждений. Такая проверка обычно производится значительно 
дольше, чем обычная. Выполнение команды прекращается в момент столкновения с 
первой серьезной ошибкой. Для продолжения проверки даже после нахождения 
серьезных повреждений передается параметр -v. Тем самым гарантируется 
отсутствие повреждений в результирующей таблице, но при этом может произойти 
потеря некоторых данных.
Прежде чем выполнять команду, способную изменить содержимое таблицы, всегда 
делайте резервную копию данных. Утилита isamchk очень хороша для исправления 
ошибок, но иногда это означает уничтожение поврежденных данных, входящих в 
конфликт с остальными данными таблицы. При наличии резервной копии можно 
восстановить данные, уничтоженные утилитой isamchk.
Удаление и замена ключей
Иногда ключи замедляют скорость работы с базой данных. Если, к примеру, вы 
намерены ввести большой объем данных, индексирование ключей после каждой 
вставки может оказаться очень неэффективным. Кроме того, если ваша таблица 
имеет поврежденные ключи, в результате безоглядного исправления таблицы 
утилитой isamchk может произойти потеря данных, связанных с ключом.
В этих случаях оказывается полезным временное удаление ключей из таблицы и 
воссоздание их после завершения опасной работы. Следующая команда удаляет ключи 
из таблицы:
isamchk -rq -k0
Если вы готовы снова вставить ключи, это можно сделать командой:
isamchk -rq
Прежде чем ввести команду isamchk с параметром -r, завершите работу сервера, 
иначе таблица может оказаться повреждений.
Команда isamchk предоставляет столько возможностей, что вам, вероятно, станет 
сложно разобраться во всех них. Следует, однако, руководствоваться следующими 
соображениями:
* Если база данных новая, почаще выполняйте isamchk, -а. В большинстве 
приложений баз данных основной массив данных вводится в начале существования 
базы. Если выполнять isamchk с параметром, указывающим на необходимость анализа 
данных всякий раз, когда размер базы данных удваивается, можно быть уверенным в 
эффективности хранения данных.
* Раз или два в год выполняйте команду isamchk -d. Если число удаленных блоков 
в ваших таблицах составляет существенную часть дискового пространства, 
выполните isamchk -r для перестройки таблиц с высвобождением ненужного места. 
Если ваше приложение таково, что приходится удалять много старых данных и 
вводить новые, выполняйте isamchk -d каждые две недели, а если число удаленных 
блоков быстро растет, может понадобиться выполнять isamchk -r регулярно - раз в 
месяц.
* За исключением операций удаления и замены ключей, которые нужно производить 
всякий раз, когда одновременно вводился несколько десятков записей, все 
остальные виды isamchk следует выполнять только в ответ на появившуюся в базе 
данных несовместность.
Устранение неполадок
Даже в самых совершенных программах возникают проблемы. К счастью, многие из 
проблем, с которыми вы можете столкнуться, уже с кем-то случались. Ниже 
приводится ряд часто встречавшихся проблем при администрировании MySQL.
Изменения в таблицах доступа не действуют.
Не забывайте выполнять команду mysqladmin reload после внесения изменений в 
таблицы доступа.
При высокой загрузке MySQL отказывает в подключении.
1. Сначала уточните число соединений, допускаемых сервером. Команда mysqladmin 
variables покажет его значение в поле max_connec-tions. Можно увеличить это 
число, запустив mysqld с параметром -О max_connections=###, где ### - предел, 
который вы хотите установить.
2. Можно также проверить значение back_log , которое определяет размер очереди, 
создаваемой MySQL для входящих соединений, равное 5 по умолчанию. Версии MySQL 
до 3.22 позволяли увеличить это значение до 64, но в более поздних версиях его 
можно увеличить до 1024. Однако оно может быть ограничено до 64 вашей 
операционной системой.
3. Наконец, эта проблема может быть вызвана ограничением числа дескрипторов 
файлов. Симптомом этого является полный отказ в подключениях при запуске MySQL 
большого числа потоков. Unix-системы позволяют устанавливать число дескрипторов 
файлов разными способами, поэтому следует справиться в системной документации о 
том, как это сделать.
MySQL сообщает о невозможности найти файл, который явно существует, или 
сообщает об ошибках во время его чтения.
В большинстве случаев эта проблема связана с числом дескрипторов файлов, о 
котором говорилось выше. Однако если увеличить буфер таблиц MySQL, ему не 
потребуется открывать так много файлов, и вы сможете избавиться от этой 
проблемы. По умолчанию величина буфера таблиц равна 64. Можно увеличить его 
через значение переменной table_cache .
Число потоков начинает расти, и потоки не завершаются,
 
<<-[Весь Текст]
Страница: из 157
 <<-