Библиотека сайта rus-linux.net
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
Обязательные
Рекомендуемые
Необязательные
Пакет 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
ЗамечаниеВ команде |
Соберите и установите пакет 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
СоветВ архиве с исходными кодами есть только документация в виде файла |
ЗамечаниеЕсли вы хотите собрать и установить только клиентскую программу
cmake . && make mysqlclient libmysql Продолжите в роли пользователя 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 |