Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 21. Базы данных Вперед

Пакет MySQL-5.5.17

Знакомимся с пакетом MySQL

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

На домашней странице MySQL может быть более свежий выпуск пакета. Вы можете проверить ссылку http://dev.mysql.com/ и, возможно, воспользоваться имеющимися инструкциями BLFS. Обратите внимание, что версии, кроме той, что указана в ссылке на скачивание, не тестировались в среде BLFS.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://anduin.linuxfromscratch.org/sources/BLFS/svn/m/mysql-5.5.17.tar.gz
  • Загрузка (FTP): ftp://anduin.linuxfromscratch.org/BLFS/svn/m/mysql-5.5.17.tar.gz
  • Контрольная сумма MD5: dcb6a06e68c5e8f30f57b15300730c9c
  • Размер загружаемого пакета: 23 MB
  • Оценочный размер требуемого дискового пространства: 883 MB(дополнительные 170 MB для запуска тестового набора)
  • Оценочное время сборки: 3,9 SBU(тестовому набору требуется дополнительно 45 минут, которые лишь частично зависят от производительности процессора)

Дополнительные загрузки

  • Дополнительная документация (смотрите совет, приведенный ниже): http://dev.mysql.com/doc/

Зависимости пакета MySQL

Обязательные

CMake-2.8.6

Рекомендуемые

OpenSSL-1.0.0e

Необязательные

Пакет TCP Wrappers-7.6, libaio

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/mysql

Установка пакета MySQL

По соображениям безопасности настоятельно рекомендуется при работе сервера пользоваться непривилегированным пользователем и группой:

groupadd -g 40 mysql &&
useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql

Замечание

В команде cmak есть много параметров. Список дополнительных параметров можно посмотреть с помощью команды cmake . -LH`. Поный список всех параметров смотрите в документации MySQL Documentation

Соберите и установите пакет MySQL с помощью следующих команд:

cmake .                                     \
   -DSYSCONFDIR=/etc                           \
   -DMYSQL_DATADIR=/srv/mysql                  \
   -DINSTALL_MYSQLDATADIR=/srv/mysql           \
   -DCMAKE_INSTALL_PREFIX=/usr                 \
   -DINSTALL_BINDIR=bin                        \
   -DINSTALL_SBINDIR=sbin                      \
   -DINSTALL_DOCDIR=share/doc/mysql            \
   -DINSTALL_DOCREADMEDIR=share/doc/mysql      \
   -DINSTALL_INCLUDEDIR=include/mysql          \
   -DINSTALL_INFODIR=share/info                \
   -DINSTALL_LIBDIR=lib                        \
   -DINSTALL_MANDIR=share/man                  \
   -DINSTALL_MYSQLSHAREDIR=share/mysql         \
   -DINSTALL_MYSQLTESTDIR=share/mysql-test     \
   -DINSTALL_PLUGINDIR=lib/plugin              \
   -DINSTALL_SCRIPTDIR=bin                     \
   -DINSTALL_SHAREDIR=share/mysql              \
   -DINSTALL_SQLBENCHDIR=share/mysql-bench     \
   -DINSTALL_SUPPORTFILESDIR=share/mysql/support-files \
   -DWITH_ZLIB=system                          \
   -DWITH_SSL=system                           \
   -DWITH_READLINE=system                      \
   -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
   -DWITH_ARCHIVE_STORAGE_ENGINE=1             \
   -DWITH_FEDERATED_STORAGE_ENGINE=1           \
   -DWITH_BLACKHOLE_STORAGE_ENGINE=1           \
   -DMYSQL_MAINTAINER_MODE=OFF                 \
   -DWITH_DEBUG=OFF                            &&
make

Чтобы проверить результаты, выполните команду make test-force 2>&1 | tee test.log. В результате будут выполнены тесты и будут проверены все полученные журнальные файлы. Из-за конфигурационных настроек и ограничений, установленных разработчиками, многие тесты выполняться не будут. Заметим, что если вы используете пакет TCP Wrappers и у вас есть файл /etc/hosts.d с ограничениями, вы должны добавить в файл /etc/hosts.allow соответствующую запись для демона mysqld. В противном случае многие из тестов не пройдут.

Чтобы проверить результаты, выполните команду make.

Замечание

Тесты ssl могут непроходить из-за просроченных сертификатов.

Теперь в роли пользователя root выполните:

SEGMENTS="Client Server IniFiles ManPages"
SEGMENTS="$SEGMENTS Development Documentation Info Readme"

for segment in $SEGMENTS; do
   cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
done

unset SEGMENTS

Совет

В архиве с исходными кодами есть только документация в виде файла mysql.info и в виде страниц man. Вы можете по ссылке http://dev.mysql.com/doc/ скачать в различных форматах документ "MySQL Reference Manual" ("Справочное руководство MySQL").

Замечание

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

cmake . &&
make mysqlclient libmysql

Продолжите в роли пользователя root

make install

Пояснение команд

cmake -DCMAKE_INSTALL_COMPONENT=$segment ...: С помощью этой команды устанавливаются отдельные части пакета. По желанию можно добавлять или удалять различные части. Список частей можно узнать с помощью команды make list_install_components.Обратите внимание, что на установку части 'DataFiles' параметры -DMYSQL_DATADIR и -DINSTALL_MYSQLDATADIR влимяния е оказывают.

Конфигурирование пакета MySQL

Конфигурационные файлы

/etc/my.cnf и ~/.my.cnf

Подробнее о конфигурировании

В директории /usr/share/mysql есть несколько конфигурационных файлов, задаваемых по молчанию, которыми вы можете воспользоваться. В роли пользователя root создайте файл /etc/my.cnf с помощью следующей команды:

install -v -m644 /usr/share/mysql/my-medium.cnf /etc/my.cnf

Теперь вы можете установить базу данных и изменить права собственности на непривилегированных пользователя и группу (выполните в роли пользователя root):

mysql_install_db --user=mysql &&
chgrp -v mysql /srv/mysql{,/test,/mysql}

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

install -v -m755 -o mysql -g mysql -d /var/run/mysql &&
mysqld_safe --user=mysql 2>&1 >/dev/null &

В установке, предлагаемой по умолчанию, пароль для администратора не устанавливается, так что в роли пользователя root используйте следующую команду для того, чтобы его установить. Замените <new-password> на ваш собственный пароль.

mysqladmin -u root password <new-password>

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

mysqladmin -p shutdown

Загрузочный скрипт

Для того, чтобы сервер MySQL запускался во время загрузки системы, установите в роли пользователя root загрузочный скрипт /etc/rc.d/init.d/mysql, который находится в пакете blfs-bootscripts-20111226.

Описание пакета

Установленные программы: comp_err, innochecksum, msql2mysql, my_print_defaults, myisam_ftdump, myisamchk, myisamlog, myisampack, mysql, mysql_client_test, mysql_config, mysql_convert_table_format, mysql_create_system_tables, mysql_explain_log, mysql_find_rows, mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db, mysql_secure_installation, mysql_setpermission, mysql_tableinfo, mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager, mysqlshow, mysqltest, mysqltestmanager, mysqltestmanager-pwgen, mysqltestmanagerc, perror, replace, resolve_stack_dump и resolveip

Установленные библиотеки: libdbug.a, libheap.a, libmyisam.a, libmyisammrg.a, libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmystrings.a, libmysys.a и libvio.a

Установленные директории: /srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/mysql и /var/run/mysql

Краткое описание

На описание всех программ и библиотек потребуется несколько страниц. Лучше обратитесь к документации mysql.info или получите справочное руководство по ссылке http://dev.mysql.com/doc/refman/5.1/en/index.html.

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

Перевод сделан с варианта оригинала, датированного 2011-11-02 05:08:32 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет Berkeley DB-5.2.36   Пакет PostgreSQL-9.0.6