Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metoda / Kl_ITIn_2014.docx
Скачиваний:
7
Добавлен:
16.03.2016
Размер:
834.56 Кб
Скачать

2. Лекция: Подготовка к работе с MySql

Лекция рассматривает способы получения и установки дистрибутивов MySql

в операционных системах Windows и Linux.

Пользователю базы данных необязательно знать, как инсталлировать MySql.

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

Загрузка MySql

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

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

FreeBSD, HP-UX, IBM AIX, Linux, MacOS X, SCO, SGI Irix, Solaris и многих вариантов Microsoft Windows.

Информацию обо всех дистрибутивах можно получить на Web-узле http://www.MySql.com. Там же публикуются последние новости о программе.

Проверка исходных требований

Если инсталлируются двоичные файлы, следует убедиться в том, что система соответствует исходным требованиям программы. Важным моментом является поддержка потоков. При инсталляции в старых версиях некоторых операционных систем MySql требует наличия отдельной библиотеки потоковых функций POSIX. POSIX — это международный стандарт,

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

позволяющий программам выполнять несколько задач одновременно.

Современные операционные системы поддерживают стандарт POSIX. Если вы все же не уверены, проверьте в интерактивной документации, будет ли программа MySql работать в данной версии операционной системы.

Выбор версии

Команда разработчиков MySql публикует тестовые и стабильные версии дистрибутивов отдельно. Информацию о статусе той или иной версии программы можно найти на Web-узле. Эти же сведения закодированы в названии дистрибутива.

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

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

Инсталляция с помощью менеджера пакетов RedHat Linux

Если программа MySql инсталлируется в Linux, то лучше всего воспользоваться модулем RPM (RedHat Packet Manager— менеджер пакетов

RedHat). MySql работает в Linux версий 2.0 и выше. Тестирование программы выполнялось в RedHat 6.2. В программе используется библиотека glibc, подключаемая статически. Если в системе установлена более старая версия библиотеки, программу придется скомпилировать заново.

В приведено описание доступных модулей RPM (для последней версии пакета MySql 4.01.10, на момент создания этого материала)

MySql-4.01.10-1.1386.rpm Содержит все файлы, необходимые для запуска сервера MySql, включая клиентские программы.

MySql-4.01.10-l.src.rpm Содержит все исходные коды MySql MySql-bench-4.01.10-1.1386.rpm Содержит программы, предназначенные для тестирования производительности MySql. Для запуска тестов необходим основной дистрибутив, а также интерпретатор Perl. MySql-client-4.01.10-1.1386.rpm Содержит лишь клиентские программы

MySql-devel-4.01.10-1.1386.rpm Содержит библиотеки и файлы заголовков, необходимые для компиляции клиентских программ

MySql-shared-4.01.10-1.1386.rpm Содержит совместно используемые библиотеки для клиентских программ

Опытные пользователи Linux знают, что флаг -i служит программе rpm

указанием инсталлировать пакет. Таким образом, основной модуль MySql

инсталлируется следующей командой: rpm -i MySql-4.01.10-1.1386.rpm

В результате инсталляции в каталог /etc/rc.d добавляется файл сценария,

содержащий команду запуска сервера MySql после перезагрузки компьютера.

Однако сам серверный демон запускается немедленно.

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

Можно также инсталлировать модуль RPM с исходными кодами программы.

В этом случае воспользуйтесь опцией --rebuild, чтобы подготовить бинарный модуль.

Обычно пользователи инсталлируют лишь модули MySql-4.01.10-1.i386.rpm

и MySql-client-4.01.10-l.i386.rpm. Для тех, кто собираются писать собственные клиентские программы, потребуется также модуль MySql-devel-4.01.10-1.i386.rpm.

Инсталляция в Windows

Программа MySql распространяется и в виде ZIP-архива, содержащего набор инсталляционных файлов. Перед извлечением файлов из архива создайте отдельный каталог, например с:\windows\MySql, так как в архиве нет информации о путевых именах файлов.

Чтобы приступить к инсталляции, выполните двойной щелчок на файле setup.ехе, после чего начнут появляться различные диалоговые окна. Первый вопрос, на который предстоит ответить, касается папки, куда должна быть помещена программа. По умолчанию предлагается папка с:\MySql. Можно выбрать любую другую папку, но в таком случае придется отредактировать конфигурационный файл.

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

"типичную" инсталляцию, будут инсталлированы серверный модуль,

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

Далее начнется собственно установка программы. Если инсталляционный каталог называется не с:\MySql, то по окончании инсталляции нужно будет дополнительно установить файл my.ini. Для этого перейдите в каталог программы и найдите файл my-example.cnf. Скопируйте его в системный каталог (с:\windows) и переименуйте в my.ini. Можно поступить и по-

другому: скопировать файл в корневой раздел диска С: и назвать его my.cnf.

Теперь нужно отредактировать этот файл, чтобы переменная basedir

указывала на инсталляционный каталог. Если соответствующая строка присутствует в виде комментария, удалите символы комментария. В

противном случае добавьте эту строку самостоятельно, например: basedir = d:\MySql

Если программа MySql инсталлируется в Windows 2000 (XP), то, возможно,

ее нужно запустить в виде сервиса. Для этого требуется перейти в режим командной строки и ввести следующую команду:

c:\MySql\bin\MySqld-nt --install

Название сервиса появится в окне сервисов панели управления, где можно будет настроить программу на автоматический запуск. Утилита winMySqladmin, входящая в Windows-дистрибутив, позволяет автоматизировать множество задач, включая конфигурацию.

Если Вы хотите запустить MySql вручную, то Вам потребуется выполнить следующую последовательность действий:

запустите сеанс MS-DOS и перейдите в каталог c:\MySql\bin

введите в строке приглашения:

MySqld-shareware --standalone

или (в зависимости от версии)

MySqld

тем самым будет запущен сервер MySql.

введите "MySql" (без кавычек) в приглашении DOS.

приглашение изменится на приглашение "MySql".

чтобы протестировать сервер MySql, введите в строке приглашения "show databases;"

на экране должно появиться окно, изображенное на рис 2.1

Рис. 2.1. Запуск MySql

Если появится подобный результат, то можно считать, что установка системы MySql успешно завершена.

введите "quit" в приглашении MySql.

снова появится приглашение MS-DOS.

так как в данный момент работа закончена, необходимо остановить сервер

MySql. выполните в приглашении следующую команду.

MySqladmin -u root shutdown

Инсталляция вручную

Если программа MySql инсталлируется не в Linux или Windows либо если услуги менеджера пакетов не нужны, можно инсталлировать двоичные файлы вручную. Соответствующий дистрибутив распространяется в виде tar-

архива, сжатого с помощью программы gzip.

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

Программе MySql нельзя предоставлять права суперпользователя, и никакие компромиссы здесь недопустимы. Можно, например, создать группу MySql и

одноименного пользователя с помощью команд addgroup и adduser либо groupadd и useradd, в зависимости от версии UNIX. Ниже показан пример для

RedHat Linux: groupadd MySql useradd -g MySql MySql

Обычно начальным каталогом MySql выбирают /usr/local/MySql. После распаковки архива будет создан каталог, имя которого совпадает с именем дистрибутива, поэтому удобнее всего просто создать символическую ссылку

MySql. Вот как это делается: cd /usr/local

tar xvfz MySql-4.01.10-pc-linux-gnu-i686.tar.gz ln -s MySql-4.01.10-pc-linux-gnu-i686 MySql cd MySql

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

Как правило, программа MySql инсталлируется от имени пользователя root,

поэтому следующий шаг заключается в изменении владельца всех файлов программы:

chown -R MySql /usr/local/MySql chgrp -R MySql /usr/local/MySql

Теперь можно запустить демон MySql с помощью сценария safe_MySqld.

Следующая команда запускает демон от имени пользователя MySql: /usr/local/MySql/bin/safe_MySqld --user=MySql &

Если нужно, чтобы сервер MySql запускался всякий раз после перезагрузки компьютера, добавьте соответствующую строку в файл /etc/rc.d/rc.local или же скопируйте сценарий MySql.server в каталог /etc/init.d и создайте правильные символические ссылки на него. В комментариях к файлу support-files/MySql.server рекомендуются такие ссылки:

/etc/rc3.d/S99MySql

и

/etc/rcO.d/SOlMySql.

Чтобы запустить программу клиента MySql вручную, введем в строке приглашения команду:

MySql -u root -p

Система попросит ввести пароль. Введите пароль для root (MySqldata).

Если приглашение ввести пароль не появилось, то это может означать, что сервер MySql не работает. Чтобы запустить сервер, перейдите в каталог

/etc/rc.d/init.d/ и выполните команду ./MySql start (или MySql start, в

зависимости от значения переменной PATH). Затем вызовите программу клиента MySql.

Если клиент MySql работает, то появится приглашение MySql>. Введите в строке приглашения следующее:

show databases;

На экране должен появиться вывод, как на рис. 2.1.

Теперь можно считать, что система MySql успешно установлена в Linux.

Компиляция программы

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

Поскольку исходные тексты были подготовлены с помощью утилиты autoconf, для компиляции программы нужно будет ввести последовательность команд configure, make и make install.

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

MySql досконально знают все тонкости процесса компиляции, поэтому они умеют создавать максимально оптимизированные исполняемые файлы.

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

Инсталлируйте их до начала компиляции программы.

Предоставление привилегий

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

Программа MySql не работает со списком пользователей, который есть у операционной системы. У нее своя таблица пользователей. Тем не менее,

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

Чтобы поменять пароль пользователя root, нужно запустить интерпретатор команд MySql от имени суперпользователя. Данный интерпретатор представляет собой программу MySql, путь к которой должен быть указан в переменной среды PATH.

Пользователям Windows придется вводить путевое имя целиком, например c:\MySql\bin\MySql. С помощью опции --user задается имя для регистрации.

В нашем случае интерпретатор запускается с помощью такой команды:

MySql --user=root MySql

Вызвав интерпретатор, необходимо обновить две строки в таблице user,

касающиеся пользователя root. Это делает следующая инструкция: UPDATE user SET Password = PASSWORD('secret')

WHERE User = 'root';

В ответ на эту инструкцию интерпретатор отобразит две модифицируемые записи. Естественно, вместо строки 'secret' следует выбрать более надежный пароль. Этот пароль должен применяться лишь в административных целях.

Далее нужно сообщить серверу об изменении привилегий. Для этого предназначена такая инструкция:

FLUSH PRIVILEGES;

Любой пользователь может захотеть создать персональную базу данных для собственных экспериментов, но делать это разрешено только пользователю root. Он же может создавать учетные записи новых пользователей и предоставлять им необходимые привилегии. Рассмотрим пример:

CREATE DATABASE mybase; GRANT ALL

ON freak.*

TO freak @'%' IDENTIFIED BY PASSWORD('secret');

Первая инструкция создает базу данных mybase. Вторая инструкция создает учетную запись пользователя freak и предоставляет ему доступ к одноименной базе данных. Пароль для доступа — 'secret'. Пользователь freak

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

Соседние файлы в папке metoda