Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MySQL. Библиотека профессионала - Аткинсон Л

..pdf
Скачиваний:
165
Добавлен:
24.05.2014
Размер:
10.41 Mб
Скачать

ИНСТАЛЛЯЦИЯ MYSQL

В этой главе.

Загрузка дистрибутива Инсталляция с помощью менеджера пакетов RedHat Linux Инсталляция в Windows Инсталляция вручную Компиляция программы

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

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

грамму можно запускать также из персональных учетных записей.

Загрузкадистрибутива

MySQL можно инсталлировать двумя способами: скомпилировав исходные коды программы или воспользовавшись предварительно скомпилированными двоичными файлами. Первый вариант допускает больше возможностей в плане конфигурации, но более продолжителен. Второй вариант удобнее, так как есть готовые дистрибутивы для многих операционных систем. На момент написания книги существовали версии MySQL для FreeBSD, HP UX, IBM AIX, Linux, MacOS X, SCO, SGI Irix, Solaris и многих вариантов Microsoft Windows.

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

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

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

34 Глава 2. Инсталляция MySQL

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

Выбор версии

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

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

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

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

Ниже приведено описание доступных модулей RPM.

MySQL 3.23.39 1.1386.rpm

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

MySQL 3.23.39 l.src.rpm Содержит все исходные коды MySQL.

MySQL bench 3.23.39 1.1386.rpm

Содержит программы, предназначенные для тестирования производительно сти MySQL. Для запуска тестов необходим основной дистрибутив, а также ин терпретатор Perl.

MySQL client 3.23.39 1.1386.rpm Содержит лишь клиентские программы.

MySQL devel З.23.39 1.1386.rpm

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

• MySQL shared 3.23.39 1.1386.rpm

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

Опытные пользователи Linux знают, что флаг i служит программе rpm указани ем инсталлировать пакет. Таким образом, основной модуль MySQL инсталлируется следующей командой:

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

35

rpm i MySQL 3.23.39 1.1386.rpm

В результате инсталляции в каталог /etc/rc.d добавляется файл сценария, со держащий команду запуска сервера MySQL после перезагрузки компьютера. Однако сам серверный демон запускается немедленно.

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

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

Обычно пользователи инсталлируют лишь модули MySQL 3.23.39 1.i386.rpm и MySQL client 3.23.39 l.i386.rpm. Для тех, ктособираются писать собственные клиентские программы, потребуется также модуль MySQL devel 3.23.39 1.i386.rpm.

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

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

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

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

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

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

basedir = d:\mysql

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

c:\mysql\bin\mysqld nt install

36 Глава 2. Инсталляция MySQL

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

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

Если программа 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 3.23.35 pc linux gnu i686.tar.gz

ln

s mysql 3.23.35 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.

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

37

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

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

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

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

В главе 26, "Оптимизация", описан процесс перекомпиляции MySQL в целях по вышения производительности программы, поэтому мы не будем здесь вдаваться в тонкости компиляции.

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

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

Сценарий 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' следует выбрать более надежный пароль. Этот пароль должен применяться лишь в административных целях.

38 Глава 2. Инсталляция MySQL

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

FLUSH PRIVILEGES;

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

CREATE DATABASE leon;

GRANT ALL

ON leon.*

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

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

ВЗАИМОДЕЙСТВИЕ С MYSQL

В этой главе...

Клиент серверное взаимодействие средствами TCP/IP

Утилиты командной строки

Графические клиенты ODBC Web интерфейсы

этой главе рассматриваются различные способы взаимодействия с сервером MySQL. Допускаются клиентские подключения по протоколу IP, а также через сокеты UNIX и именованные каналы. Имеется ряд готовых клиентов. Про стейшие из них— это утилиты командной строки, являющиеся частью проекта MySQL. Кроме них есть графические клиенты для различных операционных систем. Те, кто работают в Windows, могут пользоваться специальным драйвером ODBC, a любой, у кого есть Web броузер, сможет получить в свое распоряжение Web клиенты. Различные утилиты командной строки, входящие в состав MySQL, описаны в гла

ве 14, "Утилитыкомандной строки".

Клиент серверное взаимодействие средствамиTCP/IP

Программа MySQL работает по пр отоколам TCP/IP, как и другие Internet сервисы. Соединения различаются по имени узла и номеру порта. По умолчанию ис пользуется порт 3306, но это конфигурируемый параметр.

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

Имя клиентского компьютера, с которого устанавливается соединение, преобра зуется в IP адрес: четыре числа, разделенных точками. Например, специальному име ни localhost соответствует адрес 127.0.0.1. Иногда такое преобразование выполня ется на основании записей локальных таблиц ядра, но чаще всего — с помощьюсерве ра DNS (Domain NameSystem — система доменных имен).

По умолчанию запрос на подключение поступает через порт 3306. Этот порт ПО СТОЯННО прослушивается сервером MySQL. При ответе на запрос сервер создает сеанс связи с клиентом. За сеансом закрепляются два порта: один будет использоваться для отправки данных, а другой — для их приема.