Главная              Рефераты - Разное

Учебное пособие: Методические указания к выполнению лабораторной работы №10 для студентов специальности 071900 “Информационные системы и технологии” Хабаровск

Министерство образования Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

“Хабаровский государственный технический университет”

АДМИНИСТРИРОВАНИЕ В ИНФОРМАЦИОННЫХ СЕТЯХ

ЛАБОРАТОРНАЯ РАБОТА № 10

Методические указания к выполнению лабораторной работы № 10

для студентов специальности 071900 “Информационные системы

и технологии”

Хабаровск

Издательство ХГТУ

2003


УДК 681.58:681.32

Администрирование в информационных сетях: Методические указания к выполнению лабораторной работы № 10 для студентов специальности 071900 «Информационные системы и технологии» / Сост. Г. К. Конопелько, Д. Г. Конопелько – Хабаровск: Изд-во Хабар. гос. техн. ун-та, 2003. – 12 с.

Методические указания составлены на кафедре «Автоматика и системотехника». В них приводятся задание на лабораторную работу, требования по оформлению отчета, а также общие сведения. Приводится перечень рекомендованной литературы, необходимой для выполнения задания.

Печатается в соответствии с решениями кафедры "Автоматика и системотехника" и методического совета института информационных технологий.

© Издательство Хабаровского государственного технического университета, 2003

Установка сервера MySQL для Linux

Цель работы: научиться устанавливать сервер MYSQL для Linux и освоить процедуру настройки сервера.

Введение

Практическое задание выполняется в локальной сети на рабочей станции с операционной системой Linux версии 7 или более поздней.

Порядок выполнения лабораторной работы

1. Подготовка и допуск к работе

К выполнению лабораторной работы допускаются студенты, которые подготовились к работе и имеют не более двух невыполненных предыдущих заданий.

Перед работой студент должен:

· предъявить преподавателю полностью оформленный отчет о предыдущей работе;

· ответить на вопросы преподавателя.

К работе не допускаются студенты, которые не выполнили одно из вышеперечисленных требований.

2. Отчёт по работе должен содержать следующее:

- Текст задания.

- Перечень всех использованных в лабораторной работе команд и инструкций.

- Вывод по работе.

Общие сведения

Инсталляция MySQL

Как и большая часть программ для unix, MySQL поставляется в виде исходного текста, который надо откомпилировать. Перед компиляцией можно произвести некоторую настройку пакета на уровне исходного текста.

Опции, задаваемые при компиляции пакета:

1. Выключение альтернативных пользовательских логинов

Если вы не хотите, чтобы пользователи могли применять опцию -u для входа в mysql под другим логином, можно закомментировать в файле global.h строку:

#define SAFE_USER 1 /* Comment this if you are paranoid */

2. Выключение автоматического присваивания значений по умолчанию

По умолчанию MySQL автоматически назначит значение по умолчанию полям, которые явно не объявлены. MySQL будет делать это исходя из типа конкретного поля. Если Вы предпочли бы, чтобы поля с необъявленными значениями имели значение NULL, то добавьте в файл global.h строку:

#define DONT_USE_DEFAULT_FIELDS

3. Изменение используемой длины ключа

По умолчанию MySQL рассматривает только 1120 байтов ключа. Вы можете увеличивать это значение, редактируя файл nisam.h и изменяя значение N_MAX_KEY_LENGTH. Обратите внимание, что это может вести к снижению производительности. Нет причины делать это значение меньше, поскольку можно определить ключ, длина которого меньше указанного поля.

4. Изменение порядка сортировки

По умолчанию MySQL сортирует строки согласно ISO8859-1 (latin1). Вы можете изменить это во время конфигурации, определяя следующую опцию.

--with-charset=[charset]

где: [charset] может быть один из: latin1, latin2, koi8_ru, dec8, dos, hp8, swe7, usa7.

Чтобы узнать о том, как добавлять новые наборы символов, посмотрите каталог строк в исходниках.

Обратите внимание: Если Вы меняете наборы символов уже создав базу данных, Вы будете должны выполнить isamchk с параметрами -e, и -q для всех таблиц, иначе MySQL не будет работать правильно.

Настройка mysqld

Когда Вы указываете опцию -O, отдельно (без дополнительных параметров) Вы получите список всех переменных и их текущих значений. Это может выглядеть примерно так:

$ mysqld -O

Возможные переменные в опции -O:

Имя

Значение по умолчанию

back_log

Определите размер очереди для входящих tcp/ip подключений. Убедитесь, что установили его побольше, когда Вы ожидаете большое количество подключений в коротком периоде времени. Некоторые ОС могут иметь максимальное значение этой переменной 128 или 256. Подробности об этой очереди можно посмотреть на man-странице listen(2).

keybuffer

Размер кэш-буфера, для хранения всех недавно использованных ключей. Большой буфер дает самую лучшую эффективность. С переключателем -Sl распределен только один буфер.

max_allowed_packet

Буфер подключений сервера может быть изменен до этого значения, если пользователь дает длинную команду. Начальный буфер = 'net_buffer_length'. На каждое подключение выделяется один буфер.

net_buffer_length

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

max_connections

Максимальное число подключений, которые mysqld может иметь открытыми в одно и то же время.

table_cache

Максимальное число таблиц сохраняемых открытыми на сервере. Таблицы хранятся открытыми, для ускорения запроса к часто используемым таблицам. Однако, каждая открытая таблица требует много памяти.

recordbuffer

Размер кэш-буфера для хранения прочитанных записей. На каждое подключение выделяется один буфер.

sortbuffer

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

max_sort_length

Максимальное время для сортировки?

Полезные замечания

· Все потоки совместно используют ту же самую основную память.

· MySQL в настоящее время не использует memmap. Это может изменяться.

· Вы можете определять размер буфера для ключей при старте mysqld. Буфер ключей будет кэшировать все ключи во всех таблицах В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (переменная keybuffer)

· Каждое подключение использует некоторую часть потока, стек и буфер подключений (переменная net_buffer_length).

· Каждый запрос, делающий последовательный просмотр записей в таблице, распределяет буфер чтений (переменная recordbuffer).

· Каждый запрос, выполняющий сортировку, распределяет sortbuffer и один или два временных файла. Максимально необходимое дисковое пространство = (sort_key_length + sizeof(long))*2.

· Все объединения выполняются за один проход, и результат сохраняется во временной таблице в памяти. Выполнение полного объединения и сортировки на двух больших таблицах может потребовать очень большого объема памяти.

· Индексные файлы открываются один раз. Файлы данных открываются один раз для каждого параллельного потока. Каждый параллельный поток имеет полную таблицу struct и поле struct плюс память для трех полных строк столбцов. BLOB требует еще 5-8 байт.

· Если таблица имеет BLOB, буфер будет распределен, чтобы читать данные BLOB. Этот буфер будет расти по мере необходимости, до размеров самого большого BLOB в таблице.

· Когда таблица используется, она сохраняется в кэше. Этот кэш будет загружен и опорожнен В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (FIFO). По умолчанию mysqld будет кэшировать 64 таблицы. Если много потоков обращаются к одной и той же таблице одновременно, будет иметься одна запись на поток. ТО ЕСТЬ, если два потока одновременно обращаются к той же самой таблице, будет две записи в кэше.

· Команда mysqladmin reload закрывает все таблицы, которые не используются, и отмечает все используемые таблицы, которые будут закрыты, когда работающие потоки завершатся. Это позволяет эффективно использовать память, своевременно ее освобождая.

Если Вы имеете прикладную программу, которая требует большого количества потоков, это является хорошим способом уменьшить значения recordbuffer и sortbuffer примерно до 32K. Вы можете даже уменьшить recordbuffer до 8КБ без особых проблем. Кроме того можно рассматривать уменьшение значения переменной keybuffer до размера в 512КБ. Это сохранит большой объем памяти, и повысит эффективность работы.

После того, как Вы загрузили данные в вашу базу данных, Вы можете выполнить команду 'isamchk -a' над вашими таблицами. Программа isamchk соберет статистику по вашим таблицам, которую сможет использовать оптимизатор. Вообще, надо выполнить isamchk только однажды на таблице. При этом предполагается, что что данные в таблице во время isamchk выполнены в типичном представлении для вашей таблицы.

Оптимизация памяти, используемой таблицами

Есть несколько вещей, которые Вы можете сделать, чтобы минимизировать количество места, которое используют ваши таблицы. Прежде всего используйте НЕ ПУСТОЙ указатель всякий раз, когда возможно. Это ускорит запросы, и сохранит 1 бит на поле.

Вы можете сохранить много места, используя меньшие целочисленные переменные. Например, MEDIUMINT часто вполне достаточен.

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

Имейте в виду, что поля фиксированной длины в mysql обрабатываются значительно быстрее. Избегая полей переменной длины (VARCHAR, BLOBs), можно повысить эффективность на 10-200%.

Запуск mysqld (при загрузке системы)

Solaris (при загрузке системы) :

Скопируйте скрипт mysql.server из каталога mysql bin в /etc/init.d .

Проверьте все пути в скрипте mysql.server. Проверьте и установите safe_mysqld в / etc / init . d / mysql . server и в / etc / rc 2. d / S 99 mysql . server .

Linux (при загрузке системы) :

В Caldera Open Linux надо добавить в файл /etc/rc.d/rc.local следующее:

/usr/local/bin/safe_mysql &

Конечно, здесь надо задать правильный путь в каталог с MySQL.

Запуск mysqld (при запущенной системе)

Программа mysqld может быть запущена от имени любого пользователя. По умолчанию она запускается от имени root. Если она запускается от имени любого другого пользователя, надо установить правильные права доступа ко всем необходимым файлам.

Зайдите в систему как пользователь-владелец MySQL и дайте следующую команду (предполагается, что исполняемый модуль mysql находится в вашем пути. Если это не так, укажите полный путь):

safe_mysql &

Установка поддержки Perl

Наличие perl API дает огромные возможности по доступу к базам данных MySQL из скриптов на этом языке. Учитывая, что perl очень часто используется в интернете (для написания CGI-скриптов), этот интерфейс позволяет создавать web-ориентированные базы данных.

а). Простой интерфейс с perl СУБД MySQL

Этот интерфейс представляет собой первый способ обратиться к базе данных MySQL из программы на perl.

При разработке этого пакета, его старались сделать как можно более похожим на C API.

Вы будете иметь дело с двумя классами: Mysql::Statement работаете с ним через операторный дескриптор, возвращенный командами Query или ListFields. Единственный класс, который Вы называете явно - Mysql. Это предоставляет Вам команду Connect.

б). DBD

MySQL DBD Perl – э то драйвер представляющий собой второй способ обратиться к базе данных MySQL из программы на perl. Вы должны установить DBI-модуль перед использованием DBD::mysql.

Задание

1. Установить сервер MySQL.

2. Настроить и запустить сервер.

3. Продемонстрировать работу сервера преподавателю.

Контрольные вопросы

1. Что такое BDI?

2. Что такое DBD?

3. Типы интерфейсов с Perl.

Библиографический список

1. Шумаков П.В. Delphi 3 и создание приложений баз данных / П. В. Шумаков. – М.: Нолидж, 1999. – 320 c.

2. «Microsoft Knowledge Base», Web-сервер корпорации Microsoft, http://www.microsoft.com/rus/support/kbrus.htm

3. Маслов В.В. «Введение в Perl», Web-сервер Citforum http://www.citforum.ru/ internet/perl_tut/ index.shtml

4. Федосеева А. «Спецификация языка Perl», Web-сервер Citforum http://www.citforum.ru/database/cnit/p2.shtml

2. Чекалов А. «Прагматический подход к разработке приложений Web баз данных», Web-сервер Citforum http://www.citforum.ru/internet/webdbapp/ index.shtml

3. Встроенная справочная система операционной системы Windows.

АДМИНИСРИРОВАНИЕ В ИНФОРМАЦИОННЫХ СЕТЯХ

Методические указания к выполнению лабораторной работы № 10

для студентов специальности 071900 «Информационные системы

и технологии»

Конопелько Геннадий Константинович,

Конопелько Денис Геннадьевич

Главный редактор Л. А. Суевалова

Редактор ________

Компьютерная верстка Д. Г. Конопелько

Подписано в печать . Формат 60х84 1/16.

Бумага писчая. Гарнитура “Таймс”. Печать офсетная. Усл. печ. л. Х,ХХ

Тираж 100 экз. Заказ .

Издательво Хабаровского государственного

технического университета.

680035, Хабаровск, ул. Тихоокеанская, 136.

Отдел оперативной полиграфии издательства

Хабаровского государственного технического

университета.

680035, Хабаровск, ул. Тихоокеанская, 136.