su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


Глава №3.

Установка

Подобно большинству сервисов, СУБД MySQL и mSQL работают как фоновые процессы, в Unix-системах называемые также демонами. В данной главе обсуждается процесс их распаковки и установки.

MySQL

Прежде чем начать установку MySQL, нужно ответить на пару вопросов.

  1. Собираетесь ли вы устанавливать MySQL как пользователь root или какой-либо другой пользователь?

    MySQL не требует для своей работы прав суперпользователя, но при установке с правами root вы даете каждому пользователю вашей системы доступ к одному экземпляру программы. Если у вас нет прав суперпользователя, установку придется произвести в свой исходный каталог. Однако, даже если вы установите MySQL как суперпользователь, лучше запускать под другим логином. Благодаря этому данные вашей базы данных можно защитить от других пользователей, установив для конкретных пользователей MySQL права только чтения файлов данных. Кроме того, при компрометации защиты базы данных нарушитель получает доступ только к учетной записи отдельного пользователя MySQL, не имеющей привилегий за пределами базы данных.

  2. Будете ли вы устанавливать MySQL из исходного кода или откомпилированных модулей?

Имеется много откомпилированных двоичных пакетов MySQL. Это экономит время, но уменьшает возможности настройки при установке. Для установки из исходного кода вам потребуется компилятор С и другие инструменты разработчика. Если они у вас имеются, то преимущества установки из исходного кода обычно перевешивают мелкие неудобства.

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

В любом случае сначала необходимо получить дистрибутив.

Таблица 3-1. Список серверов Интернета, с которых можно взять экземпляр исходного кода или двоичных файлов MySQL

Азия

Корея

KREONet

Япония

Soft Agency


Nagoya Syouka University


Nagoya Syouka University


HappySize


HappySize

Сингапур

HJC


HJC

Тайвань

NCTU


TTN

Австралия

Австралия

AARNet/Queensland


AARNet/Queensland


Blue Planet/Melbourne


Blue Planet/Melbourne


Tas


Tas

Африка

Южная Африка

The Internet Solution/ Johannesburg

Европа

Австрия

University of Technology/Vienna


University of Technology/Vienna

Болгария

Naturella

Дания

Ake


SunSITE


SunSITE

Эстония

Tradenet

Финляндия

EUnet

Франция

Minet

Германия

Bonn University, Bonn


Bonn University, Bonn


Wolfenbuettel


Wolfenbuettel


Staufen

Греция

NTUA, Athens


NTUA, Athens

Венгрия

Xenia


Xenia

Израиль

Netvision

Италия

Teta Srl

Польша

Sunsite


Sunsite

Португалия

lerianet


lerianet

Россия

DirectNet


IZHCOM


IZHCOM

Румыния

Bucharest


Bucharest


Timisoara


Timisoara

Швеция

Sunet


Sunet


тcх


тcх


тcх

http://www.mysql.com (Primary Site)


тcх

ftp://ftp.mysql.com (Primary Site)

Англия

Omnipotent/UK


Omnipotent/UK


PHG/UK


PliG/UK

Украина

РАСО


РАСО

Северная Америка

Канада

Tryc

США

Circle Net/North Carolina


DIGEX


Gina net/Florida


Hurricane Electric/San Jose


Netcasting/West Coast


Phoenix


pingzero/Los Angeles

Южная Америка

Чили

Amerikanclaris


vision

Подключившись к серверу FTP, войдите в каталог Downloads. В нем будут перечислены несколько версий MySQL, например:

MySQL-3.21

MySQL-3.22

MySQL-3.23

Самый высокий номер версии соответствует нестабильному выпуску, в котором производится добавление и проверка новых характеристик. Отдельные подверсии его будут иметь пометки 'alpha', 'beta' или 'gamma'. Предыдущая версия является текущей стабильной версией. Эта версия тщательно проверена и считается свободной от ошибок. Доступны также более ранние архивные версии.

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

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

mysql-3.22.19-beta-sgi-irix6,4-mip.tgz

mysql-3.22.21a-beta-ibm-aix4.2.1.0-rs6000.tgz

mysql-3.22.31-pc-linux-gnu-i586.tgz

mysql-3.22.33-sun-solaris2.6-sparc.tgz

mysql-3.22.33.tar.gz

Файлы, имена которых включают названия машин и операционных систем, являются двоичными версиями для этих систем. Если название машины не указано, как в последней строке, то это исходный код. Если к файлу не присоединена метка 'alpha', 'beta' или 'gamma' - это стабильная версия. Что касается двух последних файлов списка, то первый - откомпилированная версия для Sun Solaris на машине Spare, а последний - исходный код. Прочие, более старые версии существуют, поскольку у команды разработчиков не всегда есть время и возможность откомпилировать каждую подверсию MySQL на каждой существующей операционной системе и аппаратной конфигурации. В действительности, большая часть прекомпилированных версий предоставлена обычными пользователями, которым удалось успешно откомпилировать последнюю версию на своей системе.

Зная это, вы можете теперь выбрать версию MySQL, которую хотите использовать, и загрузить исходный код, если собираетесь компилировать MySQL, или двоичный дистрибутив для вашей машины, если он существует. Когда отсутствует двоичный дистрибутив, точно соответствующий вашей конфигурации, проверьте, нет ли его для слегка отличной конфигурации. Например, mysql-3.22.32a-ibm-aix4.2.1.0-powerpc.tgz может работать также на версии AIX 4.1.4 на том же типе машин. Если вы не можете таким образом подобрать работающую версию, попробуйте поискать в более старых версиях MySQL. Если и это не удастся, придется компилировать исходный код. В случае успешной компиляции и запуска MySQL можно предоставить откомпилированные двоичные файлы команде разработчиков MySQL для включения в архив.

Установка из исходного кода

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

gunzip - с mysql-x.xx.xx.tar.gz | tar xvf -

где mysql-x. xx. xx . tar. gz - имя загруженного вами файла. В результате в рабочем каталоге будет создан каталог mysql-x. xx. xx. Перейдите в него. Запустите сценарий configure в рабочем каталоге. Вызовите его как . /configure, чтобы случайно не запустить программу с тем же именем, находящуюся где-либо в другом месте. Во многих случаях установка прекрасно проходит без задания каких-либо параметров, но при возникновении трудностей можно использовать многочисленные параметры, информацию о которых можно вывести на экран, задав ключ -help. Вот наиболее употребительные:

--without-server

В результате компилируются все имеющиеся клиенты MySQL, но не сервер.

-prefix

Устанавливается каталог инсталляции, отличный от каталога по умолчанию (/usr/ local/ ).

-with-low-memory

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

-localstatedir

Используется для назначения каталога для файлов базы данных, отличающегося от принятого по умолчанию (/usr/local/var).

-with-charset

Используется для выбора набора символов, отличного от принятого по умолчанию (lati.nl). На момент написания книги доступны наборы символов big5, danish, cp1251, cp1257, croat, czech, dec8, dos,

euc_kr, germanl, Hebrew, hp8, hungarian, koi8_ru, koi8_ukr, latin1, Iatin2, swe7, usa7, win1251, win1251u, kr, ujis, sjis, tis620.

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

По завершении компиляции команда make install установит все в нужное место.

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

./scripts/mysql_install_db

При этом запустится также демон сервера. Чтобы убедиться в том, что он работает, перейдите в инсталляционный каталог (по умолчанию / usr/local/) и введите команду:

./bin/mysqladmin version

На экран будет выведено что-то, близкое к следующему:

mysqladmin Ver 7.11 Distrib 3.22.23b, for linux on 1586

TCX Datakonsult AB, by Monty

Server version 3.22.23b-debug

Protocol version 10

Connection Localhost via UNIX socket

UNIX socket /tmp/mysql.sock

Uptime: 6 sec

Threads: 1 Questions: 1 Slow queries: 0 Opens: 6 Flush tables: 1 Open

tables: 2 Memory in use: 1093K Max memory used: 1093K

Итак, последовательность шагов установки такова:

gzip - с mysql-x.xx. xx. tar. gz | tar xvf -

cd mysql-x.xx.xx

./configure

make

make install

./scripts/mysql_install_db

./bin/mysqladmin version

Установка двоичного дистрибутива

Загрузив двоичный дистрибутив, вы должны выбрать каталог для установки файлов MySQL. Чаще всего выбирается /usr/local/mysql, но это в значительной мере зависит от потребностей ваших пользователей, и имеющихся у вас прав доступа.

Перейдите в каталог на уровень выше, чем тот, в котором вы хотите разместить дистрибутив MySQL. Например, если вы хотите использовать /usr/local/mysql, перейдите в /usr/local. Для распаковки дистрибутива выполните команду:

gunzip - с /tmp/mysql-x.xx.xx-fflymac/line. tgz | tar xvf -

Здесь /tmp - имя каталога, в который вы загрузили дистрибутив MySQL, a mysql-x.xx.xx-mymachine.tgz - имя загруженного файла.

В результате в текущем каталоге будет создан каталог mysql-x.xx.xx mysql. Если вы хотите, чтобы файлы были просто в каталоге mysql, создайте связь:

In - s mysql-x.xx.xx mysql

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

scripts/mysql_install_db

Эту команду нужно выполнить только один раз. Для запуска демона MySQL введите:

bin/safe_mysqld --log &

Чтобы убедиться, что демон правильно работает, введите:

bin/mysqladmin version

Ответ должен быть примерно таким:

Mysqladmin Ver 6.3 Distrib 3.21.33, for sun-solaris2.6 on spare

TCX Datakonsult AB, by Monty

Server version 3.21.17-alpha

Protocol version 10

Connection Localhost via UNIX socket

TCP Port 3333

UNIX socket /tmp/mysql.sock

Uptime: 13 sec

Running threads: 1 Questions: 20 Reloads: 2 Open Tables: 3

mSQL

Первым шагом в установке mSQL является получение дистрибутива исходного кода. На момент написания этой книги самые новые версии mSQL распределялись только с веб-страницы Hughes Technology на http://www.hughes.com.avl. Автор mSQL предпочел официально не распространять двоичные дистрибутивы mSQL. Если на вашей машине нет компилятора С, то вам следует либо установить его, либо скомпилировать на такой же машине с той же операционной системой и перенести результат.

Полученный дистрибутив с исходным кодом mSQL распакуйте командой:

gunzip - с msql-2.0.4.1.tar.gz | tar xvf -

В результате в рабочем каталоге будет образован каталог с именем msq 1-2.0.4.1. Перейдите в него.

Создайте на своей машине инсталляционный каталог командой:

make target

Теперь перейдите в каталог targets. В нем должен быть новый каталог с названием вашей операционной системы и платформы, например, Solaris-2.6-Spare или Linux-2.0. 33-1386. Перейдите в этот каталог.

В рабочем каталоге запустите сценарий setup. Лучше запустите его как . /setup, чтобы командный процессор не запустил программу setup из какого-нибудь другого каталога. Сценарий сконфигурирует исходный код для компиляции. После выполнения сценария рассмотрите файл site.mm и измените необходимые параметры для настройки своей локальной установки. В частности, вы, возможно, захотите изменить переменную INST_DIR, задающую каталог, в который устанавливается mSQL. Если конфигурация вас устраивает, для компиляции mSQL выполните команду:

make all

После компиляции установите mSQL в выбранный вами каталог с помощью команды:

make install

Вся последовательность шагов при инсталляции выглядит следующим образом:

gzip - с msql-x.x.x.tar.gz tar xvf -

cd msql-x.x.x

make target

cd targets/myOS-mymachine

./setup

make all

make install

Оглавление

GNU OCXE GNU LINUX
Сайт управляется системой uCoz