Для установки MySQL из исходного кода необходимо выполнить следующие основные команды:
shell> groupadd mysql shell> useradd -g mysql mysql shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - shell> cd mysql-VERSION shell> ./configure --prefix=/usr/local/mysql shell> make shell> make install shell> scripts/mysql_install_db shell> chown -R root /usr/local/mysql shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql shell> cp support-files/my-medium.cnf /etc/my.cnf shell> /usr/local/mysql/bin/safe_mysqld --user=mysql & или shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
если запускается версия MySQL 4.x.
Чтобы обеспечить поддержку таблиц InnoDB, следует отредактировать файл
/etc/my.cnf
, удалив символ #
перед теми параметрами, которые начинаются с
innodb_....
See Раздел 4.1.2, «Файлы параметров my.cnf
». See Раздел 7.5.2, «Параметры запуска InnoDB».
Если вы используете исходный код RPM, выполните следующую команду:
shell> rpm --rebuild --clean MySQL-VERSION.src.rpm
Эта команда создаст бинарный код RPM, который вы можете установить.
Новых пользователей можно добавить, используя скрипт
bin/mysql_setpermission
, если установить модули Perl DBI
и
Msql-Mysql-modules
.
Ниже следует более подробное описание установки.
Для установки исходного кода нужно выполнить приведенные ниже действия, а затем перейти к разделу Раздел 2.4, «Послеустановочные настройка и тестирование» для инициализации и послеустановочной проверки:
-
Выберите каталог, в котором вы хотите распаковать дистрибутив, и откройте его.
Получите файл дистрибутива с одного из сайтов, перечисленных в разделе See Раздел 2.2.1, «Как получить MySQL».
Если вы заинтересованы в том, чтобы использовать с MySQL таблицы Berkeley DB, то необходимо получить версию исходного кода таблиц Berkeley DB с патчами. Кроме того, прежде чем предпринимать какие-либо действия, ознакомьтесь, пожалуйста, с разделом, посвященным таблицам Berkeley DB (see Раздел 7.6, «Таблицы
BDB
или BerkeleyDB»). Дистрибутивы исходного кода MySQL поставляются в виде сжатых архивов tar с именами наподобиеmysql-VERSION.tar.gz
, гдеVERSION
представляет собой число.-
Добавьте пользователя и группу для запуска
mysqld
следующим образом:shell> groupadd mysql shell> useradd -g mysql mysql
Эти команды добавляют группу
mysql
и пользователяmysql
. Данный синтаксис дляuseradd
иgroupadd
в различных версиях Unix может иметь некоторые отличия. Приведенные выше команды могут также иметь другие названия -adduser
иaddgroup
соответственно. Пользователю и группе можно назначить какие-нибудь иные, отличные отmysql
имена. -
Распакуйте дистрибутив в текущем каталоге:
shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
Эта команда создает каталог с именем
mysql-VERSION
. -
Перейдите из каталога распакованного дистрибутива в каталог высшего уровня:
shell> cd mysql-VERSION
Учтите, что теперь необходимо конфигурировать и компоновать MySQL из этого каталога высшего уровня. Построить MySQL в другом каталоге нельзя.
-
Сформируйте релиз и скомпилируйте весь код:
shell> ./configure --prefix=/usr/local/mysql shell> make
При запуске configure вам, возможно, понадобится указать некоторые опции. Чтобы получить список опций, запустите
./configure --help
. Некоторые наиболее полезные опции рассмотрены в разделе See Раздел 2.3.3, «Типичные опцииconfigure
». Еслиconfigure
не работает и вы собираетесь посылать письмо с просьбой о помощи на<[email protected]>
, то просьба включить в него те строки изconfig.log
, которые, по вашему мнению, могут помочь решить данную проблему. Кроме того, если выполнениеconfigure
преждевременно прекращается, в письмо следует включить несколько последних строк вывода изconfigure
. Для отсылки отчета об ошибке используйте скриптmysqlbug
(see Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах»). Если компиляция не выполняется, то обращайтесь к разделу See Раздел 2.3.5, «Проблемы с компиляцией?», в котором содержатся рекомендации по решению ряда часто встречающихся проблем. -
Установите весь код:
shell> make install
Возможно, необходимо запустить эту команду как
root
. -
Создайте таблицы привилегий MySQL (это необходимо только в случае, если нет ранее установленной версии MySQL ):
shell> scripts/mysql_install_db
Учтите, что в версиях MySQL до 3.22.10 работа сервера MySQL начиналась при запуске
mysql_install_db
. Сейчас это не так! -
Измените принадлежность бинарного кода
root
и принадлежность каталога данных, назначив их пользователю, под именем которого будет запускатьсяmysqld
. Это делается следующим образом:shell> chown -R root /usr/local/mysql shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql
Первая команда изменяет атрибут owner данного файла на пользователя
root
, вторая - атрибут owner каталога данных на пользователяmysql
, а третья - атрибут group на группуmysql
. Если вы хотите установить поддержку интерфейса Perl
DBI
/DBD
, обращайтесь к разделу See Раздел 2.7, «Замечания по установке Perl».Если вы хотели бы, чтобы работа MySQL начиналась автоматически при начальной загрузке компьютера, то можно скопировать
support-files/mysql.server
в то место, где находятся файлы запуска вашей системы. Более подробную информацию можно найти в самом скриптеsupport-files/mysql.server
и в разделе See Раздел 2.4.3, «Автоматический запуск и остановка MySQL».
После завершения установки данный дистрибутив необходимо проинициализировать и протестировать:
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
Если эта команда прекращает работу немедленно после останова демона
mysqld
, то некоторую информацию можно найти в файле
mysql-data-directory/'hostname'.err
. Причина, возможно, заключается в том,
что уже запущен другой сервер mysqld
(see Раздел 4.1.4, «Запуск нескольких серверов MySQL на одном компьютере»).
Теперь приступайте к разделу See Раздел 2.4, «Послеустановочные настройка и тестирование».