Смекни!
smekni.com

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

Как работают пароли

Зашифрованный пароль сохраняется в таблице пользователей ('user').

· При установлении соединения сервер посылает случайное число клиенту.

· Клиент шифрует пароль, чтобы получить то что имеет сервер (он хранит пароли в зашифрованном виде) и вычисляет число из полученного с сервера случайного числа и зашифрованного пароля. Это число отсылается на сервер.

· Сервер вычисляет число из сохраненного в зашифрованном виде пароля и сгенерированного случайного числа. Если это число совпадет с тем, которое прислал клиент, связь устанавливается.

Запуск mysqld

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

Solaris

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

Проверьте все пути в скрипте mysql.server. Проверьте и установите safe_mysqld в /etc/init.d/mysql.server и в /etc/rc2.d/S99mysql.server.

Linux

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

/usr/local/bin/safe_mysql &

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

при запущенной системе:

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

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

safe_mysql &

Добавление функций в MySQL

Если Вы понимаете C++, то добавить функцию к СУБД MySQL относительно просто.

Сначала добавьте строку в файл sql_lex.cc с именем функции в массив sql_functions.

Затем добавьте две строки в файл sql_yacc.y. Первая определяет символ препроцессора yacc. Вы должны добавить это к началу файла. Затем определите параметры функции, и создайте 'item' с этими параметрами.

В файле item_func.h объявляют класс, который наследуется из Item_num_func или Item_str_func, в зависимости от того, возвращает ли ваша функция число или строку.

В intem_func.cc добавьте:

double *Item_func_newname::val()

если Вы определяете числовую функцию, или

String *Item_func_newname::Str(String *str)

если Вы определяете строковую функцию.

Для строковой функции вы должны также определить следующую функцию:

void Item_func_newname::fix_length_and_dec()

Она должна по крайней мере вычислить 'max_length' основанный на полученных параметрах. max_length - максимальное число символов, которое функция может вернуть (максимальная длина возвращаемого значения).

Если функция не может возвращать null, вы должны также установить 'maybe_null=0'.

Для строковых функций параметр 'String *str', предоставляет буфер для хранения результата. Строковая функция должна вернуть строку, которая хранит результат.

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

Быстрая загрузка данных

Самый быстрый способ загружать данные в MySQL - команда LOAD DATA INFILE. Это в 3 - 20 раз быстрее, чем использование инструкций INSERT. Для еще большего быстродействия можно использовать процедуру, описанную ниже и предусматривающую отключение функции формирования ключа на вашей таблице во время загрузки данных. Для этого надо находиться в вашем MySQL каталоге баз данных, или обеспечивать полные пути к вашей базе данных.

isamchk -rq -k0 [имя_базы_данных]/[имя_таблицы] Удаление ключей
LOAD DATA INFILE ... Чтение ваших данных
isamchk -rq [имя_базы_данных]/[имя_таблицы] Создание ключей таблицы заново
mysqladmin reload. Сообщите, чтобы mysql использовал новую таблицу

Задание на лабораторную работу

1. Запустите СУБД MySQL.

2. Создайте минимум двух пользователей.

3. Создайте минимум две базы данных на каждого пользователя.

4. Создайте по одной таблице в каждой базе данных и заполните их записями.

5. Продемонстрируйте результаты преподавателю.

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

1. Как осуществляется запуск MySQL?

2. Какова процедура создания новых пользователей?

3. Где хранится информация о пользователях и базах данных?

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

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.

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

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

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

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

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

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

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

Редактор ____________

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

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

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

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

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

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

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

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

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

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

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