Основы системного администрирования MySQL. (Дистрибутивы, установка, старт/стоп сервера)

Дистрибутивы MySQL

Дистрибутивы MySQL доступны в бинарном виде и в виде исходных кодов.

Как уже говорилось ранее, MySQL портирован на множество операционных систем. Мы будем рассматривать только две платформы: Linux и Windows. Дистрибутивы MySQL для Linux  могут быть в виде:

  • rpm пакетов. Устанавливаются в систему с помощью утилиты rpm. Доступны для RPM-based операционных систем, например, Red Hat Linux, Oracle Linux, CentOS, SLES и т.п.
  • tar файлов. Устанавливаются в систему с помощью утилиты tar. Для их установки необходимо просто раскрыть tar файл в нужную директорию.
  • исходных кодов. Их необходимо использовать, когда отсутствует нужный rpm или tar файл (например, под какую-то определенную аппаратную платформу), когда надо включить/выключить какие-то особенности MySQL, установленные по умолчанию в rpm пакете или нужно посмотреть/изменить исходные коды.

Дистрибутив MySQL для Windows может быть либо в виде инсталлятора Windows (MSI Installer), либо в виде zip архива. В первом случае инсталлятор либо содержит все необходимые файлы MySQL, либо в другой, более компактной версии, скачивает большую часть файлов из интернета. Инсталляция дистрибутива из zip архива аналогична инсталляции из tar файла в Линукс. Т.е. достаточно просто разархивировать zip архив в рабочую директорию.

Скачать дистрибутивы MySQL можно по ссылке.

Установка MySQL под Linux

Рассмотрим подробнее, как можно установить MySQL сервер из rpm пакета на Red Hat Linux.

Как минимум, для этого надо скачать и установить следующий пакет:

MySQL-server-<VERSION>.rhel5.i386.rpm, где <VERSION> – номер версии сервера.

(Например, MySQL-server-5.6.11-2.rhel5.i386.rpm или MySQL-server-5.6.11-2.rhel5.x86_64.rpm для 64-битной операционной системы)

После установки сервера:

shell# rpm -i MySQL-server-5.6.11-2.el6.x86_64.rpm

и его старта:

shell# /etc/init.d/mysql start

Вы получаете возможность работать с ним.

Скорее всего, Вам понадобятся еще стандартные клиентские программы. Для этого устанавливаем пакет: MySQL-client-<VERSION>.rhel5.i386.rpm.

Для работы некоторых приложений, использующих MySQL, необходимо установить пакет:

MySQL-shared-<VERSION>.rhel5.i386.rpm, содержащий shared libraries.

Еще, если Вам необходимо скомпилить другие MySQL клиентские программы, понадобиться пакет:  MySQL-devel-<VERSION>.rhel5.i386.rpm.

Как правило, на этом процесс инсталляции завершен.

Директории MySQL сервера на Linux при установке из rpm пакета.

При установке MySQL сервера из rpm пакета извлекается множество файлов, которые раскладываются в разные директории. Рассмотрим их подробнее:

/usr/sbin/mysqld – MySQL сервер;

/usr/bin/               – различные клиентские программы (mysql, mysqlaccess, innochecksum и т.п.);

/etc/my.cnf или /etc/mysql/my.cnf (в зависимости от версии Linux) – конфигурационный файл;

/etc/init.d             – startup script;

/var/log                – лог MySQL сервера (mysqld.log);

/var/lib/mysql     – директория, где хранятся базы данных. Например, здесь расположена           поддиректория mysql, содержащая grant tables, директория test с тестовой базой данных, log файлы InnoDB и т.п.

Старт MySQL сервера на Linux

Стартовать MySQL сервер можно несколькими способами.

–  запустить скрипт mysql.server. При инсталляции из rpm пакета этот скрипт устанавливается в директорию /etc/init.d с именем mysql и используется для автоматического запуска или останова mysql сервера.

shell#/etc/init.d/mysql.server start

shell#/etc/init.d/mysql.server stop

mysql.server при запуске вызывает скрипт mysqld_safe.

– скрипт mysqld_safe. Устанавливает error.log, запускает mysqld и мониторит его. Если mysqld завершается с ошибкой, mysqld_safe пробует перезапустить его.

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

– скрипт mysqld_multi – perl скрипт, который упрощает запуск и управление нескольких экземпляров mysql серверов, запущенных на одном хосте.

Leave a Reply

Your email address will not be published. Required fields are marked *