Get Adobe Flash player
Войти



Сейчас 187 гостей онлайн
Проф. деятельность - Статьи

1. Выбор типа установки. Для начала следует определиться какого вида дистрибутив Вы будите использовать. Существует два варианта установочных пакетов:  исходный код (source code) или уже подготовленный скомпилированный пакет для вашей системы (binary package).

В случае RedHat Linux и ее клонов (Fedora, AspLinux, CentOS) в качестве таких бинарных дистрибутивов выступают rpm-пакеты, которые тривиально устанавливаются одной коммандой. Но за такой кажущейся простатой таится и значительное ограничение. Дело в том, что скомпиллированный пакет имеет строго ограниченный набор функций СУБД MySql, и если Вам вдруг потребуется расширить функционал, предоставляемый СУБД, то тут вы и столкнетесь с трудностями. В случае же установки MySql на Linux из исходного кода,  можно задавать набор функций базы данных  при компиляции. Так же при последующей эксплуатации базы данных мы можем с легкость перекомпилировать СУБД с нужными параметрами.

В интернете зачастую можно встретить рекомендацию устанавливать MySql на Linux из rpm-пакетов (кто-то один посоветовал, остальные размножили рекомендацию). Все же настоятельно рекомендую Вам устанавливать MySql из исходного кода. Кроме вышеперечисленных преимуществ вы при этом так же делаете шаг в сторону более глубокого понимания ОС Linux. Минус установки из исходных пакетов тоже очевиден - это более трудоемкий и не столь тривиальный способ инсталляции как первый.

В данной статье будет рассмотрена установка  MySql на Linux из исодного кода (source code)/

2. Скачиваем последний стабильный дистрибутив Mysql 5.1. с одного из зеркал официального сайта.

В Linux это можно сделать при помощи команды wget:

[root@web mysql-5.1.46]#  wget http://dev.mysql.com/get/Downloads-community-5.1.46-1.rhel5.src.rpm/from/http://mysql.infocom.ua/

В данном примере мы запустили скачивание дистрибутива с украинского зеркала MySql.

Можно убедиться, что дистрибутив скачен без ошибок выполнив команду md5sum имя_скаченного_файла :

[root@web mysql-5.1.46]#  md5sum MySQL-community-5.1.46-1.rhel5.src.rpm

Вывод команды:

109db2649372ca9363026e6fc365c22a  MySQL-community-5.1.46-1.rhel5.src.rpm

Выведенная контрольная сумма должна совпадать с указанной на сайте MySql (на против того зеркала, с которого вы скачали пакет)

Скаченный дистрибути распаковываем в директорию /usr/local/src/mysql-5.1.46/

Примечание: распаковать можно в любую другую директорию, проста так было заведено в *nix системах, что для хранения дистрибутивов в виде исходных кодов предназначалась директория  /usr/local/src/

3. Установка MySql на Linux 

3.1. Для начала следует внимательно изучить файл INSTALL-SOURCE в корневой директории дистрибутива. Там содержится описание устанвки из исходного кода, а также могут присутствовать особенности устанвки данного дистрибутива.

3.2. Создаем группу и пользователя mysql.

 

[root@web mysql-5.1.46]# groupadd mysql

[root@web mysql-5.1.46]# useradd -g mysql mysql

3.3. Заходим в директорию /usr/local/src/mysql-5.1.46/ и выполняем команду конфигурирования:

 

[root@web mysql-5.1.46]# ./configure --prefix=/usr/local/mysql

Ключ --prefix указывает в какую директорию будет произведена установка СУБД. Очень внимательно смотрите на выводимую командой configure информацию (особенно оканцовку), там может быть указано на отсутсвие необходимых системных файлов и библиотек. Если таковые имеются, то их нужно доустановить и выполнить команду конфигурации занова. В использовании ключей в команде конфигурирования и заключается гибкость установки из исходных кодов - можно включать и отключать различные опции и функции СУБД MySQL.

3.4. Компиляция. Выполняем команду make и make install :

 

[root@web mysql-5.1.46]# make

[root@web mysql-5.1.46]# make install

Внимательно смоттрим на вывод команды make - опять же, если для установки не хватает какого-либо системного файла, то команда компиляции закончится сообщением об ошибке (будет присутствовать слово error в последной строке вывода и указан недостающий элемент). Команда make install "разложит" откомпилированные файлы по нужным директориям и пролинкует их.

3.5. Создаем конфигурационный файл MySQL - my.cnf. Уже подготовленные конфиги есть в директории дистрибутива в папке support-files:

my-small.cnf - для небольших баз данных с маленькой нагрузкой

my-medium.cnf - для средних баз (как правило используют его в большинстве случаев)

my-large.cnf - для больших баз данных с сильной нагрузкой

my-huge.cnf - для очень больших систем

my-innodb-heavy-4G.cnf - конфигурация СУБД с 4 GB RAM, с поддержкой только InnoDB, ACID, поддерживает очень "тяжеловесные запросы"

Итак, выбираем нужный нам конфиг (исходя их предстоящих задач) и копируем его в директорию /etc под именем my.cnf. Например:

 

[root@web mysql-5.1.46]# cp support-files/my-large.cnf /etc/my.cnf

3.6. Назначение прав на директории и файлы, установка и настройка ситемных таблиц СУБД MySQL. Выполняем последовательность команд:

[root@web mysql-5.1.46]# cd /usr/local/mysql

[root@web mysql-5.1.46]# chown -R mysql .

[root@web mysql-5.1.46]# chgrp -R mysql .

[root@web mysql-5.1.46]# bin/mysql_install_db --user=mysql

[root@web mysql-5.1.46]# chown -R root .

[root@web mysql-5.1.46]# chown -R mysql var

3.7. Пробный запуск MySQL

[root@web mysql-5.1.46]# bin/mysqld_safe --user=mysql &

  Должен отобразиться номер процесса, под которым стартовал MySql в Linux, если все сделано правильно.

3.8. Устанавливаем Mysql как системный сервис.

Копируем конфигурационный файл сервиса в папку сервисов и назначаем соотвествующие права:

[root@web mysql-5.1.46]# cp /usr/local/src/mysql-5.1.46/support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@web mysql-5.1.46]# cd /etc/rc.d/init.d/

[root@web mysql-5.1.46]# chmod 755 mysqld

Примичание: Скопированный нами конфиг-файл подразумевает, что мы установили MySQL в директорию /usr/local/mysql/, если это не так, то нужно изменить пути в конфиге.

Далее добавляем сервис mysqld  в сервисы и автозапуск командой chkconfig:

[root@web mysql-5.1.46]# chkconfig --add mysqld

Проверить, что сервис установился и появился в автозапуске, можно командой ntsysv.

Перезагружаем сервер - команда reboot

После этого пробуем обратиться по порту 3306 (стандартный порт клиентских обращений mysql).

[root@web mysql-5.1.46]# telnet localhost 3306

 

Если получили ответ по этому порту, значит все отлично - MySql стартовал как системный сервис и готов принемать запросы от пользователей, осталось установть пароль суперадминистратора БД.

3.9. Устанавливаем пароль администратора СУБД.

[root@web mysql-5.1.46]# /usr/local/mysql/bin/mysqladmin -u root password '123'

[root@web mysql-5.1.46]# /usr/local/mysql/bin/mysqladmin -u root -h myhostname.mydomain  password '123' -p123

где:

123 - предполагаемый пароль администратора,

myhostname.mydomain - имя и домен вашего сервера (например, www.mail.ru).

Все! Теперь можно заходить в СУБД под учетной записью администратора и создавать свои базы данных.

 

 
More articles :

» Обезвреживать снаряды на полигонах будет "Робокоп"

Приволжский государственный боеприпасный испытательный полигон (ПГБИП) в Чапаевске (Самарская область) и московский НИИ...

» Узбекистан запустит вторую ПГУ на Навоийской ТЭС в конце 2017 года

Финансироваться проект будет за счет льготного займа Японского агентства международного партнерства (ДЖАЙКА) на 33,01 млрд...

» Cудам с ядерными энергетическими установками разрешено заходить в порт Сабетта

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

» Новосибирская снегоплавильная станция начнет работать в декабре

Первый заместитель мэра Новосибирска Владимир Знатков оценил готовность станции на 99 %. Снегоплавильная установка включает...

» Работа по пресечению бездоговорного потребления электроэнергии позволила энергетикам МРСК Северо-Запада возместить ущерб, нанесенный только одному филиалу - «Архэнерго», в размере 1,99 млн. рублей.

Работа по пресечению бездоговорного потребления электрической энергии позволила энергетикам МРСК Северо-Запада возместить убыток,...

Добавить комментарий


Защитный код
Обновить

Рейтинг@Mail.ru