Документация MySQL


Глава 2. Установка MySQL
Пред.   След.

Глава 2. Установка MySQL

Содержание

2.1. Быстрая стандартная установка MySQL
2.1.1. Установка MySQL на Linux
2.1.2. Установка MySQL на Windows
2.1.3. Установка MySQL на MacOS X
2.2. Общие вопросы инсталляции
2.2.1. Как получить MySQL
2.2.2. Проверка целостности пакетов с помощью MD5 Checksums или GnuPG
2.2.3. Операционные системы, поддерживаемые MySQL
2.2.4. Какую версию MySQL использовать
2.2.5. Схемы установки
2.2.6. Как и когда выпускаются обновления
2.2.7. Бинарные коды MySQL, скомпилированные в MySQL AB
2.2.8. Установка бинарного дистрибутива MySQL
2.3. Установка исходного дистрибутива MySQL
2.3.1. Обзор быстрой установки
2.3.2. Применение патчей
2.3.3. Типичные опции configure
2.3.4. Установка из экспериментального набора исходных кодов
2.3.5. Проблемы с компиляцией?
2.3.6. Замечания по потокам MIT-pthreads
2.3.7. Дистрибутив исходного кода для Windows
2.4. Послеустановочные настройка и тестирование
2.4.1. Проблемы при запуске mysql_install_db
2.4.2. Проблемы при запуске сервера MySQL
2.4.3. Автоматический запуск и остановка MySQL
2.5. Апгрейд/даунгрейд MySQL
2.5.1. Модернизация с версии 4.0
2.5.2. Модернизация с версии 3.23 до версии 4.0
2.5.3. Модернизация с версии 3.22 до версии 3.23
2.5.4. Модернизация с версии 3.21 до версии 3.22
2.5.5. Модернизация с версии 3.20 до версии 3.21
2.5.6. Модернизация к иной архитектуре
2.6. Заметки по операционным системам
2.6.1. Примечания к Linux (Все версии Linux)
2.6.2. Примечания к Windows
2.6.3. Примечания к Solaris
2.6.4. Примечания к BSD
2.6.5. Примечания к Mac OS X
2.6.6. Примечания к другим Unix-системам
2.6.7. Примечания к OS/2
2.6.8. Примечания к BeOS
2.6.9. Примечания к Novell NetWare
2.7. Замечания по установке Perl
2.7.1. Установка Perl на Unix
2.7.2. Установка ActiveState Perl на Windows
2.7.3. Установка дистрибутива Perl для MySQL на Windows
2.7.4. Проблемы использования интерфейса Perl DBI/DBD

В этом разделе описаны получение и установка MySQL:

2.1. Быстрая стандартная установка MySQL

2.1.1. Установка MySQL на Linux
2.1.2. Установка MySQL на Windows
2.1.3. Установка MySQL на MacOS X

2.1.1. Установка MySQL на Linux

Для установки MySQL на Linux рекомендуется применять пакеты RPM. В настоящее время RPM для MySQL создаются на операционной системе SuSE Linux 7.3, но они должны работать также и для других версий Linux, которые поддерживают rpm и используют glibc.

В случае возникновения проблем с файлом RPM (например, если вы получили ошибку ``Sorry, the host 'xxxx' could not be looked up''), обращайтесь к разделу See Раздел 2.6.1.1, «Примечания к бинарным дистрибутивам Linux».

Доступны для использования следующие RPM-файлы:

  • MySQL-server-VERSION.i386.rpm. Сервер MySQL. Если вам нужно только подключаться к серверу MySQL, запущенному на другом компьютере, этот файл не требуется. Обратите внимание, что выхода 4.0.10 этот пакет назывался MySQL-VERSION.i386.RPM.

  • MySQL-client-VERSION.i386.rpm.

    Стандартные клиентские программы MySQL. Установка этого пакета требуется всегда.

  • MySQL-bench-VERSION.i386.rpm.

    Тесты и контрольные задачи. Для файла требуется наличие модулей Perl и msql-mysql-modules.

  • MySQL-devel-VERSION.i386.rpm.

    Библиотеки и включаемые файлы, необходимые для компилирования других клиентов MySQL, таких как модули Perl.

  • MySQL-shared-VERSION.i386.rpm

    Этот пакет содержит динамические библиотеки (libmysqlclient.so*), нужные для некоторых языков программирования или приложений для того, чтобы работать с MySQL.

  • MySQL-embedded-VERSION.i386.rpm

    Встраиваемая библиотека сервера MySQL (MySQL 4.x и более новые).

  • MySQL-VERSION.src.rpm.

    Этот файл содержит исходный код для всех предыдущих пакетов. Файл также можно использовать для создания файлов RPM для других архитектур (например Alpha или SPARC).

Для просмотра всех файлов в пакете RPM выполните команду:

shell> rpm -qpl MySQL-VERSION.i386.rpm

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

shell> rpm -i MySQL-server-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm

Для установки только клиентского пакета выполните команду:

shell> rpm -i MySQL-client-VERSION.i386.rpm

RPM помещает данные в /var/lib/mysql и создает соответствующие вхождения в /etc/init.d/ для автоматического запуска сервера во время начальной загрузки (в случае, если у вас имеется предыдущая инсталляция, можно создать копию ранее установленного файла запуска MySQL, чтобы изменения в нем не были утеряны.)

Если вы хотите установить MySQL RPM на старших версиях Linux, которые не поддерживают init-скрипты в /etc/init.d (непосредственно или посредством символической ссылки), вам следует создать символическую ссылку на старое расположение перед тем, как устанавливать RPM:

shell> cd /etc ; ln -s rc.d/init.d .

Однако, все современные поставки Linux должны поддерживать эту схему каталогов, т.к. это требование стандарта LSB (Linux Standard Base).

После установки RPM, mysqld должен заработать и вы можете сразу приступать к использованию MySQL.

See Раздел 2.4, «Послеустановочные настройка и тестирование».

Если при установке возникнут проблемы, то за более подробной информацией следует обращаться к главе, в которой описывается установка из бинарного дистрибутива. See Раздел 2.2.8, «Установка бинарного дистрибутива MySQL».

2.1.2. Установка MySQL на Windows

2.1.2.1. Установка бинарного кода
2.1.2.2. Подготовка конфигурации MySQL для Windows
2.1.2.3. Первый запуск сервера

Имеются два следующих типа дистрибутивов сервера MySQL для Windows:

  1. Бинарный дистрибутив, в состав которого входит программа установки; она устанавливает все, что нужно, так что можно сразу же запускать сервер.

  2. Дистрибутив исходного кода, в котором содержится весь код и файлы поддержки для создания исполняемых файлов с использованием компилятора VC++ 6.0. See Раздел 2.3.7, «Дистрибутив исходного кода для Windows».

В общем случае следует отдавать предпочтение бинарному дистрибутиву.

Вам потребуется:

  • 32-разрядная операционная система Windows, такая как 9x, Me, NT, 2000 или XP. Под управлением семейства NT (NT, Windows 2000 и XP) сервер MySQL можно запускать как сервис. See Раздел 2.6.2.2, «Запуск MySQL на Windows NT, 2000 или XP». Если предполагается работать с таблицами размером более 4 Гб, необходимо установить MySQL на файловую систему NTFS или более новую. При создании таблиц не забывайте использовать MAX_ROWS и AVG_ROW_LENGTH. See Раздел 6.5.3, «Синтаксис оператора CREATE TABLE».

  • Поддержка протокола TCP/IP.

  • Копия бинарного кода MySQL или дистрибутив для Windows, который может быть загружен с http://www.mysql.com/downloads/.

    Примечание: дистрибутив поставляется в виде архивных файлов, сжатых архиватором ZIP. Во избежание повреждения файлов в процессе загрузки мы рекомендуем использовать адекватный клиент FTP с возможностью возобновления загрузки.

  • Архиватор ZIP для распаковки файла дистрибутива.

  • Достаточно места на жестком диске для распаковки, установки и создания баз данных в соответствии с вашими требованиями.

  • Если вы планируете подключаться к серверу MySQL через ODBC, то понадобится драйвер MyODBC. See Раздел 8.3, «Поддержка ODBC в MySQL».

2.1.2.1. Установка бинарного кода

  1. Если вы работаете на сервере NT/2000/XP, войдите в систему как пользователь с привилегиями администратора.

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

    C:\> NET STOP MySQL
    

    В остальных случаях используйте:

    C:\mysql\bin> mysqladmin -u root shutdown
    
  3. Если вы хотите изменить исполняемый файл сервера (т.е. -max или -nt), необходимо также удалить сервис:

    C:\mysql\bin> mysqld-max-nt --remove
    
  4. Разархивируйте файл дистрибутива во временном каталоге.

  5. Запустите файл setup.exe, чтобы начать процесс установки. Если вы хотите установить программу в иной каталог, чем заданный по умолчанию c:\mysql, то используйте кнопку Browse для указания выбранного вами каталога.

  6. Завершите процесс установки.

2.1.2.2. Подготовка конфигурации MySQL для Windows

Начиная с версии MySQL 3.23.38, дистрибутив для Windows включает в себя как обычный бинарный код, так и бинарный код сервера MySQL-Max. Ниже приводится список различных серверов MySQL, которые можно использовать:

Бинарный кодОписание
mysqldСкомпилирован с полным набором возможностей отладки и автоматической проверки выделения памяти, символических ссылок, таблиц InnoDB и BDB.
mysqld-optОптимизированный бинарный код без поддержки транзакционных таблиц.
mysqld-ntОптимизированный бинарный код для NT/2000/XP с поддержкой именованных каналов. Можно запустить эту версию на Windows 9x/Me, но в этом случае не создаются именованные каналы и необходимо иметь установленный протокол TCP/IP.
mysqld-maxОптимизированный бинарный код с поддержкой символических ссылок и таблиц InnoDB и BDB.
mysqld-max-ntПодобен mysqld-max, но скомпилирован с поддержкой именованных каналов.

Начиная с версии 3.23.50, именованные каналы доступны только при запуске mysqld с --enable-named-pipe.

Все бинарные коды оптимизированы под процессор Pentium Pro, но должны работать на любом процессоре Intel >= i386.

При следующих обстоятельствах для того чтобы задать вашу конфигурацию MySQL будет необходимо использовать файл опций:

  • Если каталоги установки или данных отличаются от заданных по умолчанию местоположений (c:\mysql и c:\mysql\data).

  • Если вы хотите использовать один из следующих серверов:

    • mysqld.exe

    • mysqld-max.exe

    • mysqld-max-nt.exe

  • Если вам требуется выполнить настройку установочных параметров сервера.

Обычно для редактирования файла опций my.ini можно использовать инструмент WinMySQLAdmin. В этом случае остальную часть данного раздела вы можете пропустить.

Существует два файла опций с одинаковыми функциями: my.cnf и my.ini. Однако во избежание недоразумений лучше всего использовать только один из них. Оба файла представляют собой простой текст. Если вы собираетесь использовать файл my.cnf, то его следует создать в корневом каталоге диска C, если my.ini - то в системном каталоге Windows (это обычно что-либо вроде C:\WINDOWS или C:\WINNT; его точное местоположение можно определить по значению переменной окружения windir). MySQL сначала ищет файл my.ini, а затем my.cnf.

Если на вашем компьютере используется начальный загрузчик, в котором диск C не является загрузочным диском, то следует работать только с файлом my.ini. Инструментальная программа WinMySQLAdmin, если она у вас применяется, также использует только файл my.ini (файл помощи с инструкциями по использованию этого инструмента находится в каталоге \mysql\bin).

Используя notepad.exe, создайте файл опций и отредактируйте раздел [mysqld], указав значения параметров basedir и datadir:

[mysqld]
# set basedir to installation path, e.g., c:/mysql
basedir=the_install_path
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
datadir=the_data_path

Следует учитывать, что в Windows имена путей должны указываться в файле опций с использованием предпочтительно прямых слешей, а не обратных. Если вы применяете обратные слеши, то их необходимо дублировать.

Чтобы использовать каталог данных, отличный от заданного по умолчанию c:\mysql\data, необходимо скопировать все содержимое каталога c:\mysql\data в новое местоположение.

Если вы хотите работать с транзакционными таблицами InnoDB, то необходимо вручную создать два новых каталога для хранения данных таблиц InnoDB и журнальных файлов - т.е. c:\ibdata и c:\iblogs. Помимо этого потребуется добавить несколько дополнительных строк в файле опций. См. раздел See Раздел 7.5.2, «Параметры запуска InnoDB».

Если же работу с таблицами InnoDB вы не планируете, следует в файле опций добавьте опцию skip-innodb.

Теперь вы готовы тестировать запуск сервера.

2.1.2.3. Первый запуск сервера

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

Убедитесь, что находитесь в каталоге, где расположен сервер, затем введите следующую команду:

C:\mysql\bin> mysqld-max --standalone

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

InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables
InnoDB: foreign key constraint system tables created
011024 10:58:25 InnoDB: Started

Чтобы получить дальнейшую информацию о работе MySQL под Windows, обращайтесь к разделу See Раздел 2.6.2, «Примечания к Windows».

2.1.3. Установка MySQL на MacOS X

Начиная с MySQL 4.0.11, вы можете поставить MySQL на Mac OS X 10.2 ("Jaguar") используя родной формат пакетов PKG вместо бинарного tar-архива. Обратите внимание, что более старые версии Mac OS X (скажем, 10.1.x) не поддерживаются этим пакетом.

Пакет находится внутри файла образа диска (.dmg), который вам сначала следует смонтировать двойным щелчком мышки на его иконке в Finder. Образ должен быть смонтирован и вы увидите его содержимое.

Внимание: Перед тем как продолжить инсталляцию, убедитесь, что другие сервера MySQL не работают на этом компьютере!

Пожалуйста, остановите все запущенные копии MySQL перед тем, как продолжать. Для этого используйте или приложение MySQL Manager (на Mac OS X Server) или с помощью mysqladmin shutdown в командной строке.

Для того чтобы поставить MySQL PKG, дважды щелкните мышкой на иконке пакета. Это действие запустит инсталлятор пакетов Mac OS, который и проведет вас через процесс установки MySQL.

Пакет поставит себя в /usr/local/mysql-<версия> и также поставит символическую ссылку /usr/local/mysql, указывающую на новое месторасположение. Если каталог с именем /usr/local/mysql уже существует, он будет вначале переименован в /usr/local/mysql.bak. Кроме того, будут установлены таблицы привилегий MySQL путем выполнения mysql_install_db после инсталляции.

Схема инсталляции похожа на ту, которая используется в бинарной поставке: все исполняемые файлы MySQL будут расположены по пути /usr/local/mysql/bin, сокет будет расположен в /etc/mysql.sock. See Раздел 2.2.5, «Схемы установки».

Необходимо чтобы существовал пользователь с именем mysql (который должен существовать по умолчанию в каждой поставке Mac OS X 10.2 и выше).

Если вы используете Mac OS X Server, у вас уже есть работающая копия MySQL:

  • Mac OS X Server 10.2-10.2.2 идет с MySQL 3.23.51 в поставке

  • Mac OS X Server 10.2.3 и 10.2.4 поставляется с MySQL 3.23.53

Этот раздел руководства покрывает вопросы инсталляции только официального пакета PKG для Mac OS X. Сначала прочитайте руководство Apple по установке MySQL, пожалуйста (запустите приложение "Help View", выберите "Mac OS X Server", сделайте поиск слова "MySQL" и прочитайте раздел под названием "Installing MySQL").

Учтите, что преинсталлированные пакеты MySQL на Mac OS X Server запускаются с помощью команды safe_mysqld вместо mysqld_safe!

Если вы ранее использовали пакеты MySQL Марка Лиянажа (Marc Liyanage) с сайта http://www.entropy.ch, вы можете просто следовать инструкциям по обновлению пакетов используя схему расположения, как указано на его страничках.

Если вы обновляете MySQL с версии, собранной Марком или с предустановленной версии из поставки Mac OS X Server, на официальную сборку от MySQL - вам следует также преобразовать существующие таблицы привилегий MySQL. See Раздел 2.5.2, «Модернизация с версии 3.23 до версии 4.0».

После инсталляции вы можете запустить MySQL выполняя следующие команды в терминальном окне. Обратите внимание, что вам нужны привилегии администратора для выполнения этой задачи.

shell> cd /usr/local/mysql
shell> sudo ./bin/mysqld_safe
(Введите ваш пароль)
(Нажмите CTRL+Z)
shell> bg
(Нажмите CTRL+D для выхода из оболочки)

Теперь вы сможете подключиться к серверу MySQL, скажем, запустив /usr/local/mysql/bin/mysql.

Для того, чтобы MySQL автоматически запускался при загрузке, вы можете взять MySQL StartupItem Марка по этому адресу:

http://www2.entropy.ch/download/mysql-startupitem.pkg.tar.gz

Мы планируем в ближайшее время добавить StartupItem в официальный пакет MySQL в ближайшее время.

Заметьте, что инсталляция нового пакета MySQL не удаляет каталог более старой инсталляции. К сожалению, инсталлятор в Mac OS X еще не предоставляет нужной функциональности для того, чтобы корректно обновить существующие в системе пакеты.

После того, как вы скопировали файлы данных MySQL с предыдущего месторасположения, и успешно запустили новую версию, вы можете удалить старую инсталляцию. Кроме того, вы можете удалить старые каталоги Package Receipt, расположенные здесь: /Library/Receipts/mysql-<version>.pkg.

2.2. Общие вопросы инсталляции

2.2.1. Как получить MySQL
2.2.2. Проверка целостности пакетов с помощью MD5 Checksums или GnuPG
2.2.3. Операционные системы, поддерживаемые MySQL
2.2.4. Какую версию MySQL использовать
2.2.5. Схемы установки
2.2.6. Как и когда выпускаются обновления
2.2.7. Бинарные коды MySQL, скомпилированные в MySQL AB
2.2.8. Установка бинарного дистрибутива MySQL

2.2.1. Как получить MySQL

Информацию о текущей версии и инструкции по ее загрузке можно получить на домашней странице MySQL (http://www.mysql.com/).

Наш главный зеркальный сайт - http://mirrors.sunsite.dk/mysql/

Если вы заинтересованы в организации зеркального сайта MySQL, то можете анонимно зеркалировать нас программой rsync с адреса rsync://sunsite.dk/ftp/mirrors/mysql/. Просьба отправить нам письмо по адресу [email protected], чтобы уведомить нас о том, что ваш зеркальный сайт следует добавить в представленный ниже список.

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

О недействительных или устаревших зеркальных сайтах просьба сообщать по адресу [email protected].

For a complete upto-date list of MySQL web/download mirrors, see http://www.mysql.com/downloads/mirrors.html. There you will also find information about becoming a MySQL mirror site and how to report a bad or out-of-date mirror.

2.2.2. Проверка целостности пакетов с помощью MD5 Checksums или GnuPG

После того, как вы загрузили нужный вам пакет MySQL, и перед тем как вы будете его устанавливать, вам следует убедиться в том, что он в сохранности и не был кем-либо изменен.

MySQL AB предоставляет два способа проверить пакет: контрольная сумма MD5 и криптографическая подпись с использованиемп GnuPG, GNU Privacy Guard.

Проверка контрольной суммы MD5

После того как вы загрузили пакет, вы должны проверить, соответствует ли контрольная сумма MD5 загруженного пакета той, что указана на страничке загрузки пакетов. У каждого пакета своя контрольная сумма, которую вы можете проверить такой командой:

shell> md5sum <пакет>

Однако не все операционные системы поддерживают команду md5sum - на некоторых она просто называется md5, а в других она вовсе не поставляется. На Linux эта команда является частью GNU Text Utilities, которые доступны для множества разных платформ.

Вы можете загрузить исходный код по адресу http://www.gnu.org/software/textutils/. Если у вас уже установлен OpenSSL, вы также можете использовать команду openssl md5 <пакет>. Реализация md5 для DOS/Windows доступна по адресу http://www.fourmilab.ch/md5/.

Пример:

shell> md5sum mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
155836a7ed8c93aee6728a827a6aa153
                mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz

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

Множество зеркальных сайтов также предоставляют файл с именем MD5SUMS, который также содержит MD5 контрольные суммы всех файлов из каталога Downloads. Однако заметьте, что этот файл достаточно легко изменить и это не самый надежный метод проверки целостности пакета. Если вы в сомнениях, вы должны посмотреть на другие зеркала и сравнить увиденное.

Проверка подписи с использованием GnuPG

Гораздо более надежный метод проверки целостности пакета это использование криптографически сигнатур. MySQL AB использует ПО GNU Privacy Guard (GnuPG), открытая альтернатива весьма известному пакету Pretty Good Privacy (PGP) Фила Циммермана (Phil Zimmermann). См. http://www.gnupg.org/ и http://www.openpgp.org/ для более подробной информации про OpenPGP/GnuPG и как его получить и поставить на вашей системе. Большинство поставок Linux уже идут с GnuPG прямо в поставке.

Начиная с MySQL 4.0.10 (Февраль 2003), MySQL AB начала подписывать загружаемые пакеты с помощью GnuPG. Криптографические сигнатуры являются гораздо более надежным методом проверки целостности и аутентичности файла.

Для проверки подписи конкретного пакета, вам в первую очередь следует получить копию публичного ключа GPG . Вы можете либо взять этот ключ прямо отсюда, либо взять его на http://www.keyserver.net/.

Key ID:
pub  1024D/5072E1F5 2003-02-03
     MySQL Package signing key (www.mysql.com) <[email protected]>
Fingerprint: A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5

Public Key (ASCII-armored):

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q
zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l
xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi
Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm
Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
/1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq
a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf
anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW
I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu
QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ
Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A
n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
=YJkx
-----END PGP PUBLIC KEY BLOCK-----

Вы можете импортировать этот ключ в ваш публичный репозитарий ключей (public keyring) используя gpg --import. См. документацию на GPG для более подробной информации о том, как работать с публичными ключами.

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

Файл сигнатуры имеет расширение .asc. Например, сигнатура для mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz будет mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc. Удостоверьтесь, чтобы оба файла находятся в том же самом каталоге и затем запустите такую команду для проверки сигнатуры файла:

shell> gpg --verify <package>.asc

Example:

shell> gpg --verify mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc
gpg: Warning: using insecure memory!
gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET using DSA key ID 5072E1F5
gpg: Good signature from
     "MySQL Package signing key (www.mysql.com) <[email protected]>"

Сообщение "Good signature" сообщает вам о том, что все в порядке.

Для пакетов RPM, отдельного файла подписи не предоставляется - пакеты RPM уже сами по себе имеют встроенную поддержку подписей GPG и контрольных сумм MD5. Вы можете проверить их такой командой:

shell> rpm --checksig <package>.rpm

Пример:

shell> rpm --checksig MySQL-server-4.0.10-0.i386.rpm
MySQL-server-4.0.10-0.i386.rpm: md5 gpg OK

Внимание: Если вы используете RPM 4.1 и он сообщает следующее: (GPG) NOT OK (MISSING KEYS: GPG#5072e1f5) (даже несмотря на то, что вы импортировали ключ в ваш публичный репозиторий ключей GPG, keyring) - вам следует импортировать ключ в репозиторий ключей RPM. RPM 4.1 больше не использует ваш репозиторий ключей GPG (и GPG вообще), но поддерживает свой репозиторий, поскольку RPM - это общесистемная утилита, а репозиторий ключей GPG - это специфичный для пользователя файл). Чтобы импортировать публичный ключ MySQL в RPM, используйте вот такую команду:

shell> rpm --import <pubkey>

Пример:

shell> rpm --import mysql_pubkey.asc

Если вдруг вы заметите что контрольные суммы MD5 или подпись GPG не совпадают, попробуйте в первую очередь загрузить соответствующий пакет еще один раз, может быть, даже с другого сервера. Если вы не сможете успешно удостовериться в целостности пакета, пожалуйста, сообщите нам о подобных инцидентах, включая полное имя пакета и адрес сайта, с которого вы пытались загрузить пакет, на адрес или .

2.2.3. Операционные системы, поддерживаемые MySQL

Мы применяем GNU Autoconf, что дает возможность переносить MySQL на все современные системы с работающими потоками Posix и компилятором C++ (чтобы скомпилировать только код клиента, требуется только компилятор C++ без использования потоков). Для себя мы используем и разрабатываем программное обеспечение в основном на Sun Solaris (версий 2.5 - 2.7) и SuSE Linux версии 7.x.

Следует учитывать, что для многих операционных систем поддержка собственных потоков работает только в самых последних версиях. Согласно полученным нами сообщениям, MySQL успешно компилируется на следующих комбинациях операционных систем и потоковых пакетов:

Следует отметить, что не на всех платформах MySQL функционирует одинаково хорошо. Насколько подходит определенная платформа для высоконагружаемого многоцелевого сервера MySQL, определяется следующими факторами:

  • Общая стабильность потоковой библиотеки. Платформа может иметь отличную репутацию в других отношениях, но если в коде, который вызывается MySQL, потоковая библиотека нестабильна, то, даже если все остальное прекрасно, стабильность MySQL будет определяться стабильностью потоковой библиотеки.

  • Способность ядра и/или библиотеки потоков пользоваться преимуществом симметричной многопроцессорной обработки (SMP) на многопроцессорных системах. Другими словами, при создании процессом потока для этого потока должна быть возможность работать на ином центральном процессоре (CPU), чем исходный процесс.

  • Способность библиотеки ядра и/или потоков запускать много потоков, которые приобретают/освобождают синхронизирующий флаг в небольшой критической области, часто без излишних переключений контекста. Иными словами, если реализация pthread_mutex_lock() является очень ``уступающей'' время центрального процессора, это значительно вредит MySQL. Если не принять во внимание данное обстоятельство, то использование добавочных центральных процессоров сделает MySQL существенно медленнее.

  • Общая стабильность/производительность файловой системы.

  • Способность файловой системы работать с большими файлами вообще и работать с ними эффективно в случае больших таблиц.

  • Наш, т.е. разработчиков, уровень компетенции в том, что касается данной платформы. Для платформ, которые мы знаем хорошо, мы вводим в MySQL специфические для платформы оптимизации/исправления, доступные во время компиляции. Кроме того, мы можем также дать совет по оптимальной для MySQL конфигурации вашей системы.

  • Выполненный нами у себя объем тестирования подобных конфигураций.

  • Количество пользователей, успешно применяющих MySQL на данной платформе в подобных конфигурациях. Если это количество велико, то шансы получить некоторые специфические для данной платформы сюрпризы, намного меньше.

В соответствии с предыдущими критериями наилучшими платформами с этой точки зрения для функционирования MySQL являются: x86 под управлением SuSE Linux 7.1, с ядром 2.4 и ReiserFS (или любой подобный дистрибутив Linux) и SPARC под управлением Solaris 2.7 или 2.8. FreeBSD оказывается третьей, но мы в самом деле надеемся, что эта платформа войдет в число лучших, как только станет совершеннее потоковая библиотека. Мы также надеемся, что, с некоторого момента, мы сможем включить в высшую категорию все остальные платформы, на которых MySQL компилируется и функционирует нормально, но не с тем же уровнем стабильности и производительности. Это потребует некоторых усилий с нашей стороны в сотрудничестве с разработчиками компонентов операционных систем и библиотек, от которых зависит MySQL. Если вы заинтересованы в улучшении тех или иных компонентов, у вас есть возможность оказать влияние на их разработку и вы нуждаетесь в подробных инструкциях по поводу того, что нужно MySQL, чтобы работать лучше, пошлите письмо по адресу .

Просьба к вам: на основании приведенных выше сравнительных характеристик не делать выводов о том, что какая-либо операционная система лучше или хуже другой в общем. Мы говорим о выборе определенной операционной системы для конкретной цели - для работы MySQL, и сравниваем платформы только в таком смысле. С этой точки зрения результат такого сравнения был бы другим, если бы мы включили в него больше пунктов. И в некоторых случаях причина того, что одна операционная система лучше, чем другая, может заключаться всего лишь в том, что в тестирование и оптимизацию этой конкретной платформы было вложено гораздо больше усилий. Мы просто констатируем наши наблюдения, чтобы помочь вам принять решение - на какой платформе использовать MySQL в вашей системе.

2.2.4. Какую версию MySQL использовать

Во-первых, нужно принять решение о том, что именно вам требуется - самый свежий экспериментальный выпуск или последняя устойчивая версия:

  • Если вы собираетесь использовать MySQL впервые или пытаетесь выполнить перенос MySQL на некоторую систему, для которой нет бинарного дистрибутива, то обычно мы рекомендуем начинать со стабильной версии (в настоящее время это версия 3.23). Следует иметь в виду, что все релизы MySQL проверяются с помощью тестов производительности MySQL и набора всесторонних тестов перед каждым выпуском (даже для экспериментальных выпусков).

  • Если же вы работаете со старой системой и желаете ее модернизировать, но хотите избежать возможных нестыковок при модернизации, то необходимо проводить замену на самую новую версию в той же ветви, которую вы используете (где только последний номер версии более новый, чем у вашей). В таких версиях мы стараемся исправлять только критические ошибки и делать только небольшие, относительно безопасные изменения.

Во-вторых, нужно принять решение, хотите ли вы использовать дистрибутив исходного кода или бинарный дистрибутив. В большинстве случаев лучше остановить свой выбор на бинарном дистрибутиве, если такой существует для вашей платформы, так как обычно его проще установить, чем дистрибутив исходного кода.

Установка из исходного кода может оказаться более предпочтительной в следующих случаях:

  • Если необходимо инсталлировать MySQL в некотором явно заданном местоположении (стандартные бинарные поставки являются ``готовыми к запуску'' в любом месте, но, возможно, вам потребуется еще большая гибкость).

  • Чтобы удовлетворить различные требования пользователей, мы поставляем две разных бинарных версии: одна скомпилирована с обработчиками нетранзакционных таблиц (небольшой, быстрый бинарный код), а вторая сконфигурирована с наиболее важными возможностями расширения, такими, как поддерживающие транзакции таблицы. Обе версии компилируются из одного и того же исходного кода. Все собственные клиенты MySQL могут подключаться к обеим версиям.

    Бинарный дистрибутив расширенной версии MySQL маркируется суффиксом -max и конфигурируется с теми же опциями, что и mysqld-max. See Раздел 4.7.5, «mysqld-max, расширенный сервер mysqld».

    Если вы хотите использовать пакет RPM MySQL-Max, то сначала следует установить стандартный пакет MySQL RPM.

  • Если вам нужно сконфигурировать mysqld с некоторыми дополнительными свойствами, которые отсутствуют в стандартных бинарных дистрибутивах. Ниже приводится список наиболее распространенных дополнительных опций, которые, возможно, вы захотите использовать:

    • --with-innodb

    • --with-berkeley-db

    • --with-raid

    • --with-libwrap

    • --with-named-z-lib (Это делается для некоторых бинарных дистрибутивов)

    • --with-debug[=full]

  • По умолчанию бинарный дистрибутив обычно компилируется с поддержкой всех кодировок и должен работать на различных процессорах из одного и того же семейства процессоров.

    Если требуется получить более быстрый сервер MySQL, то можно перекомпилировать его с поддержкой только одной необходимой вам кодировки, использовать лучший компилятор (наподобие pgcc) или воспользоваться опциями компилятора, которые лучше оптимизированы для вашего процессора.

  • Если вы нашли ошибку и сообщили о ней команде разработчиков MySQL, то вам должны выслать патч, который следует применить к дистрибутиву исходного кода для исправления ошибки.

  • Если вы хотите читать (и/или модифицировать) исходный код MySQL (на C и C++), необходимо иметь дистрибутив исходного кода. Исходный код - это всегда лучшая документация. Дистрибутивы исходного кода также содержат больше тестов и примеров, чем бинарные дистрибутивы.

В системе наименований в MySQL используются номера выпусков, состоящие из трех чисел и суффикса. Например, выпуск mysql-3.21.17-beta интерпретируется следующим образом:

  • Первое число (3) служит для описания формата файлов. Все выпуски версии 3 имеют один и тот же формат файлов.

  • Второе число (21) представляет собой уровень выпуска. Обычно существует выбор из двух возможностей. Одна представляет выпуск стабильной ветви (в настоящее время 23) и вторая - экспериментальную ветвь (в настоящее время 4.0). Обычно обе ветви стабильны, но экспериментальная версия может обладать некоторыми причудами, возможно отсутствие документации на новые свойства, либо она может не компилироваться на некоторых системах.

  • Третье число (17) является номером версии в пределах уровня выпуска. Это число увеличивается для каждого нового дистрибутива. Обычно имеет смысл предпочесть самую последнюю версию для выбранного уровня выпуска.

  • Суффикс (beta) указывает на уровень стабильности данного выпуска. Возможны следующие суффиксы:

    • alpha указывает, что выпуск содержит большие разделы нового кода, не протестированного на 100%. Обнаруженные ошибки (обычно их нет) должны быть задокументированы в разделе ``Новости'' (News). См. раздел See Приложение D, История изменений и обновлений MySQL. В большинстве выпусков alpha присутствуют также новые команды и расширения. При работе над alpha-выпуском может происходить активная разработка, включающая значительные изменения кода, но перед выпуском все тестируется. В любом выпуске MySQL не должно быть известных ошибок.

    • beta означает, что весь новый код протестирован. Не добавляются никакие новые свойства, которые могли бы вызвать повреждения старого кода. Не должно быть никаких известных ошибок. Версия изменяется с alpha на beta тогда, когда никаких сообщений о критических ошибках в alpha-версии не поступает по меньшей мере в течение месяца и мы не планируем добавлять какие- либо новые свойства, которые могли бы понизить надежность прежних команд.

    • gamma представляет собой версию beta, которая почти закончена и, похоже, работает хорошо. Добавляются только незначительные исправления. Это именно то, что во многих других компаниях называется релизом.

    • Если нет никакого суффикса, это означает, что данная версия запускалась на многих различных компьютерных системах без сообщений об ошибках, кроме ошибок, относящихся к специфике платформ; для нее допускается только исправление критических ошибок. Именно поэтому такой выпуск мы называем стабильным.

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

Отметим, что все выпуски протестированы по меньшей мере со следующими тестами:

  • Внутренний набор тестов

    Набор является частью производственной системы для заказчика. Этот набор включает много таблиц с сотнями мегабайт данных.

  • Набор тестов производительности MySQL

    Эти тесты работают с набором общеупотребительных запросов. Кроме того, они позволяют увидеть, действительно ли последний пакет оптимизаций делает код быстрее. See Раздел 5.1.4, «Набор тестов MySQL (The MySQL Benchmark Suite)».

  • Тест crash-me

    Тест пытается определить, какие функциональные возможности поддерживает база данных и каковы ее возможности и ограничения. See Раздел 5.1.4, «Набор тестов MySQL (The MySQL Benchmark Suite)».

Существует еще один тест. Он заключается в том, что мы используем самую новую версию MySQL в нашей внутренней производственной среде по крайней мере на одной машине. Для работы с этой версией у нас есть более чем 100 гигабайт данных.

2.2.5. Схемы установки

В этом разделе описывается расположение каталогов, создаваемых по умолчанию при установке бинарного дистрибутива и дистрибутива исходного кода.

Бинарный дистрибутив устанавливается путем его распаковки в выбранном вами месте установки (обычно /usr/local/mysql) и создает следующие каталоги:

КаталогСодержание каталога
binКлиентские программы и сервер mysqld
dataФайлы журналов, базы данных
includeВключаемые (заголовочные) файлы
libБиблиотеки
scriptsmysql_install_db
share/mysqlФайлы с текстами сообщений об ошибках
sql-benchТесты производительности

Дистрибутив исходного кода устанавливается после того, как вы сконфигурируете и скомпилируете его. По умолчанию на этапе установки файлы инсталлируются в каталог /usr/local в следующие подкаталоги:

КаталогСодержание каталога
binКлиентские программы и скрипты
include/mysqlВключаемые (заголовочные) файлы
infoДокументация в формате Info
lib/mysqlБиблиотеки
libexecСервер mysqld
share/mysqlФайлы с текстами сообщений об ошибках
sql-benchТесты производительности и тест crash-me
varБазы данных и файлы журналов

Внутри каталога установки схема расположения инсталляции исходного кода отличается от схемы установки бинарного дистрибутива в следующих отношениях:

  • Сервер mysqld устанавливается в каталог libexec, а не в bin.

  • Каталогом данных является var, а не data.

  • mysql_install_db устанавливается в каталоге /usr/local/bin, а не в /usr/local/mysql/scripts.

  • Каталогами заголовочных файлов и библиотек являются include/mysql и lib/mysql, а не include и lib.

Можно создать собственную бинарную установку из скомпилированного дистрибутива исходного кода. Для этого следует выполнить скрипт scripts/make_binary_distribution.

2.2.6. Как и когда выпускаются обновления

Развитие MySQL в MySQL AB происходит очень быстрыми темпами и мы стремимся к тому, чтобы результаты нашей работы стали доступны и другим пользователям MySQL. Мы стараемся сделать новый выпуск сразу же, как только в продукте появляются очень полезные свойства, которые, по нашему мнению, необходимы другим пользователям.

Помимо этого мы откликаемся на просьбы наших пользователей, если для этого требуется добавить в продукт легко реализуемые свойства. Мы принимаем во внимание пожелания наших пользователей, имеющих лицензии, а особенно - пожелания обширного круга пользователей, охваченных поддержкой при помощи электронной почты, и стараемся помочь им решить их проблемы.

Загружать новый выпуск не обязательно. Информацию о том, действительно ли новый выпуск представляет собой именно то, что вам требуется, вы почерпнете из раздела ``Новости'' (News). See Приложение D, История изменений и обновлений MySQL.

Наша политика в вопросах обновления MySQL заключается в следующем:

  • Для каждого небольшого обновления последняя цифра в строке версии увеличивается. При внесении существенно новых свойств или небольших несовместимостей с предыдущими версиями увеличивается второе число в строке версии. Если изменяется формат файлов, то увеличивается первая цифра.

  • Протестированные на устойчивость версии должны обычно появляться 1-2 раза в год, но если обнаруживаются небольшие ошибки, то выпускаются версии только с исправлениями ошибок.

  • Рабочие исправления к старым версиям должны появляться примерно каждые 1-8 недель.

  • Бинарные дистрибутивы для некоторых платформ мы будем делать для значительных выпусков. Бинарные дистрибутивы для других систем иногда создаются и другими людьми, но, как правило, не так часто.

  • Обычно мы делаем патчи доступными сразу же после локализации и исправления небольших ошибок. Они посылаются на и включаются в очередной выпуск.

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

  • Если по какой-либо случайности в выпуске окажется критическая ошибка, то мы сделаем новый выпуск как можно скорее. Мы хотели бы, чтобы нашему примеру и следовали и другие компании.

Текущим стабильным выпуском сейчас является версия 3.23; уже начата активную разработка версии 4.0. Ошибки в стабильной версии по-прежнему будут исправляться. Мы не верим в полное ``замораживание'', поскольку при этом упускаются исправления ошибок и вещи, которые ``должны быть сделаны''. ``Отчасти заморожено'' подразумевает, что мы можем добавить некоторые вещи, которые ``почти несомненно не окажут влияния ни на что из того, что уже работает''.

В MySQL применяется несколько отличающаяся от большинства других продуктов система именования. В общем случае достаточно надежно использовать любую версию, просуществовавшую в течение пары недель без замены ее новой версией. See Раздел 2.2.4, «Какую версию MySQL использовать».

2.2.7. Бинарные коды MySQL, скомпилированные в MySQL AB

Компания MySQL AB в качестве услуги предоставляет набор бинарных (скомпилированных) дистрибутивов MySQL - они скомпилированы на нашем оборудовании или на вычислительных системах, к которым нам любезно предоставили доступ заказчики.

Эти дистрибутивы сгенерированы скриптом Build-tools/Do-compile, который компилирует дерево исходных кодов, и создает архив .tar.gz используя scripts/make_binary_distribution

Эти бинарники сконфигурированы и собраны с помощью следующих компиляторов и опций.

  • Linux 2.4.xx i386 с gcc 2.95.3

    CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static

  • Linux 2.4.xx ia64 с ecc (Intel C++ Itanium Compiler 7.0)

    CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile

  • Linux 2.4.xx alpha с ccc (Compaq C V6.2-505 / Compaq C++ V6.3-006)

    CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared --disable-shared

  • Linux 2.2.xx sparc с egcs 1.1.2

    CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared

  • Linux 2.4.xx s390 с gcc 2.95.3

    CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static

  • Sun Solaris 2.8 sparc с gcc 3.2

    CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared

  • Sun Solaris 2.9 sparc с gcc 2.95.3

    CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-curses-libs=-lcurses --disable-shared

  • Sun Solaris 2.9 sparc с cc-5.0 (Sun Forte 5.0)

    CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --enable-thread-safe-client --disable-shared

  • IBM AIX 4.3.2 ppc с gcc 3.2.1

    CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared

  • IBM AIX 5.1.0 ppc с gcc 3.2.1

    CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --with-server-suffix="-pro" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-innodb

  • HP-UX 10.20 pa-risc1.1 с gcc 3.1

    CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti -O3 -fPIC" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-pthread --with-named-thread-libs=-ldce --with-lib-ccflags=-fPIC --disable-shared

  • HP-UX 11.11 pa-risc2.0 с aCC (HP ANSI C++ B3910B A.03.33)

    CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared

  • Apple MacOS X 10.2 powerpc с gcc 3.1

    CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared

  • FreeBSD 4.7 i386 с gcc 2.95.4

    CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=not-used --disable-shared

Следующие бинарные поставки собраны на системах, предоставленных MySQL AB пользователями. Заметьте, что эти бинарные поставки предоставляются исключительно для удобства. Поскольку у MySQL AB нет полного контроля над этими системами, мы только можем дать ограниченную поддержку этих бинарных поставок.

  • SCO Unix 3.2v5.0.6 i386 с gcc 2.95.3

    CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentium -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared

  • Caldera Open Unix 8.0.0 i386 с CC 3.2

    CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared

  • Compaq Tru64 OSF/1 V5.1 732 alpha с cc/cxx (Compaq C V6.3-029i / DIGITAL C++ V6.1-027)

    CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-prefix=/usr/local/mysql --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-static

  • SGI Irix 6.5 IP32 с gcc 3.0.1

    CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared

Такие опции компиляции использовались для бинарных поставок MySQL AB в прошлом. Такие бинарные поставки более не обновляются, но опции компиляции мы сохранили здесь как реферативную информацию.

  • Linux 2.2.x с x686 с gcc 2.95.2

    CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex

  • SunOS 4.1.4 2 sun4c с gcc 2.7.2.1

    CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assembler

  • SunOS 5.5.1 (and above) sun4u с egcs 1.0.3a or 2.90.27 or gcc 2.95.2 and newer

    CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex --enable-assembler

  • SunOS 5.6 i86pc с gcc 2.8.1

    CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex

  • BSDI BSD/OS 3.1 i386 с gcc 2.7.2.1

    CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex

  • BSDI BSD/OS 2.1 i386 с gcc 2.7.2

    CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex

  • AIX 2 4 с gcc 2.7.2.2

    CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex

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

Дистрибутивы RPM для версии MySQL до 3.22 создавались силами пользователей. Однако начиная с версии 3.22, пакеты RPM собираются у нас в MySQL AB.

Если вы хотите скомпилировать отладочную версию MySQL, то следует добавить --with-debug или --with-debug=full к предыдущим строкам конфигурации и удалить любые опции -fomit-frame-pointer.

По вопросам, относящимся к дистрибутиву для Windows, просьба обращаться к разделу See Раздел 2.1.2, «Установка MySQL на Windows».

2.2.8. Установка бинарного дистрибутива MySQL

См. также раздел See Раздел 2.1.2.1, «Установка бинарного кода», раздел Раздел 2.1.1, «Установка MySQL на Linux» и раздел See Раздел 8.4.7, «Сборка клиентских программ».

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

  • GNU gunzip для разархивирования дистрибутива.

  • Подходящий tar для распаковки дистрибутива. GNU tar известен как работающий, а tar разработки Sun - как имеющий проблемы.

Для Linux существует альтернативный метод установки с использованием дистрибутива RPM (RedHat Package Manager, менеджер пакетов RedHat). См. раздел See Раздел 2.1.1, «Установка MySQL на Linux».

Если вам придется столкнуться с проблемами, то, пожалуйста, при отправке вопросов на всегда пользуйтесь mysqlbug. Даже если ваша проблема не относится к числу ошибок, mysqlbug соберет системную информацию, которая поможет решать такие проблемы и другим. Без mysqlbug вы уменьшаете вероятность получить решение своей проблемы! mysqlbug можно найти в каталоге scripts после распаковки дистрибутива. See Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах».

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

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/safe_mysqld --user=mysql &

или

shell> bin/mysqld_safe --user=mysql &

если вы работаете с MySQL 4.x

Новых пользователей можно добавить, используя скрипт bin/mysql_setpermission, если установить модули Perl DBI и Msql-Mysql-modules.

Далее следует более детальное описание.

Для установки бинарного дистрибутива выполните приведенные ниже действия, а затем перейдите к разделу Раздел 2.4, «Послеустановочные настройка и тестирование» для послеустановочной настройки и проверки:

  1. Выберите каталог, в котором вы хотите распаковать дистрибутив, и откройте его. В последующих примерах мы распаковываем дистрибутив под /usr/local и создаем каталог /usr/local/mysql, в котором устанавливается MySQL. (Для выполнения дальнейших инструкций, следовательно, предполагается, что вы обладаете правами создания файлов в /usr/local. Если этот каталог защищен, то вы должны производить установку как пользователь root.)

  2. Получите файл дистрибутива с одного из сайтов, перечисленных в разделе See Раздел 2.2.1, «Как получить MySQL». Бинарные дистрибутивы MySQL поставляются как сжатые архивы tar с именами вроде mysql-VERSION-OS.tar.gz, где VERSION представляет собой число (например 5.0.6-beta), а OS указывает тип операционной системы, для которой предназначен данный дистрибутив (например pc-linux-gnu-i586).

  3. Если бинарный дистрибутив маркирован суффиксом -max, то это означает, что данный бинарный код поддерживает транзакционные таблицы и другие свойства. See Раздел 4.7.5, «mysqld-max, расширенный сервер mysqld». Отметим, что все бинарные дистрибутивы созданы из одного и того же дистрибутива исходного кода MySQL.

  4. Добавьте пользователя и группу для запуска mysqld как:

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    

    Приведенные команды добавляют группу mysql и пользователя mysql. Данный синтаксис для useradd и groupadd для различных версиях Unix может иметь некоторые различия. Эти команды могут также называться adduser и addgroup. При желании можно дать пользователю и группе вместо mysql другие имена.

  5. Задайте предназначенный для установки каталог:

    shell> cd /usr/local
    
  6. Распакуйте дистрибутив и создайте каталог установки:

    shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
    shell> ln -s full-path-to-mysql-VERSION-OS mysql
    

    Первая команда создает каталог с именем mysql-VERSION-OS, а вторая - устанавливает символическую ссылку на данный каталог. Это позволяет более просто ссылаться на каталог установки - как на /usr/local/mysql.

  7. Измените в каталоге установки:

    shell> cd mysql
    

    В каталоге mysql вы найдете несколько файлов и подкаталогов. Наиболее важными для целей установки являются подкаталоги bin и scripts.

    • bin

      Этот каталог содержит клиентские программы и сервер. Необходимо добавить полный путь к этому каталогу в переменную окружения PATH, чтобы оболочка операционной системы правильно находила программы MySQL. See Приложение F, Переменные окружения.

    • scripts

      Этот каталог содержит скрипт mysql_install_db, используемый для инициализации базы данных mysql, содержащей таблицы привилегий, в которых хранятся права доступа к серверу.

  8. Если вы предпочитаете использовать mysqlaccess и установить дистрибутив MySQL в каком-либо нестандартном месте, то необходимо изменить место, где mysqlaccess ожидает найти клиента mysql. Отредактируйте скрипт bin/mysqlaccess примерно на 18-й строке. Найдите строку, выглядящую примерно так:

    $MYSQL = '/usr/local/bin/mysql'; # путь к исполняемому клиенту mysql
    

    Измените путь для указания того места в системе, где действительно находится mysql. Если этого не сделать, то возникнет ошибка Broken pipe при запуске mysqlaccess.

  9. Создайте таблицы привилегий MySQL (необходимы только в том случае, если ранее MySQL не устанавливался):

    shell> scripts/mysql_install_db
    

    Отметим, что в версиях MySQL старше, чем 3.22.10, сервер MySQL запускался при запуске mysql_install_db. Сейчас это не так!

  10. Измените принадлежность бинарного кода пользователю root и принадлежность каталога данных пользователю, под которым будет запускаться mysqld, следующим образом:

    shell> chown -R root /usr/local/mysql/.
    shell> chown -R mysql /usr/local/mysql/data
    shell> chgrp -R mysql /usr/local/mysql/.
    

    Первая команда изменяет владельца данного файла на пользователя root, вторая - владельца каталога данных на пользователя mysql, а третья - группу на группу mysql.

  11. Если вы хотите установить поддержку интерфейса Perl DBI/DBD, See Раздел 2.7, «Замечания по установке Perl».

  12. Если вы хотели бы, чтобы работа MySQL начиналась автоматически при начальной загрузке компьютера, то можно скопировать support-files/mysql.server в то место, где находятся файлы запуска вашей системы. Более подробную информацию можно найти в самом скрипте support-files/mysql.server и в разделе See Раздел 2.4.3, «Автоматический запуск и остановка MySQL».

После того, как все это будет установлено, необходимо инициализировать и протестировать данный дистрибутив.

Запустить сервер MySQL можно с помощью следующей команды:

shell> bin/safe_mysqld --user=mysql &

А сейчас следует перейти к разделу Раздел 4.7.2, «safe_mysqld, оболочка mysqld» и просмотреть раздел See Раздел 2.4, «Послеустановочные настройка и тестирование».

2.3. Установка исходного дистрибутива MySQL

2.3.1. Обзор быстрой установки
2.3.2. Применение патчей
2.3.3. Типичные опции configure
2.3.4. Установка из экспериментального набора исходных кодов
2.3.5. Проблемы с компиляцией?
2.3.6. Замечания по потокам MIT-pthreads
2.3.7. Дистрибутив исходного кода для Windows

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

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

  • GNU gunzip для разархивирования дистрибутива.

  • Подходящий tar для распаковки дистрибутива. Известно, что GNU tar является работоспособным, а tar разработки Sun имеет проблемы.

  • Работающий компилятор ANSI C++. К числу компиляторов, о которых известно, что они работают, относятся версии gcc >= 2.95.2, egcs >= 1.0.2 или egcs 2.91.66, SGI C++ и SunPro C++. При использовании gcc нет необходимости в libg++. Версия gcc 2.7.x имеет ошибку, из-за которой невозможна компиляция некоторых полностью допустимых файлов C++, таких как sql/sql_base.cc. Если у вас есть только gcc 2.7.x, то для того, чтобы можно было провести компиляцию MySQL, необходимо модернизировать gcc. Компилятор gcc 2.8.1, как известно, также имеет проблемы на некоторых платформах, так что его лучше не использовать, если для данной платформы существует новый компилятор. При компиляции версии MySQL 3.23.x рекомендуется gcc >= 2.95.2.

  • Хорошая программа make. Всегда рекомендуется (а иногда и необходимо) использовать GNU make. В случае возникновения проблем мы рекомендуем попробовать работать с версией GNU make 3.75 или более новой.

Очень важно, чтобы вы использовали последнюю версию gcc, достаточно новую, чтобы ``понимать'' опцию -fno-exceptions. В противном случае не исключена компиляция бинарного кода, который может неожиданно привести к отказу. Мы также рекомендуем использовать -felide-constructors и -fno-rtti вместе с -fno-exceptions. Если вы сомневаетесь, то выполните следующие действия:

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions \
       -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \
       --with-mysqld-ldflags=-all-static

На большинстве операционных систем это даст быстрый и стабильный бинарный код.

Если вам придется столкнуться с проблемами, то при отправке вопросов на , пожалуйста, всегда используйте mysqlbug. Даже если ваша проблема не вызвана какой-либо ошибкой, mysqlbug соберет системную информацию, которая в поможет решении этой проблемы другим пользователям. Без mysqlbug уменьшается вероятность того, что вы получите решение своей проблемы! mysqlbug можно найти в каталоге scripts после распаковки дистрибутива. See Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах».

2.3.1. Обзор быстрой установки

Для установки 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, «Послеустановочные настройка и тестирование» для инициализации и послеустановочной проверки:

  1. Выберите каталог, в котором вы хотите распаковать дистрибутив, и откройте его.

    Получите файл дистрибутива с одного из сайтов, перечисленных в разделе See Раздел 2.2.1, «Как получить MySQL».

  2. Если вы заинтересованы в том, чтобы использовать с MySQL таблицы Berkeley DB, то необходимо получить версию исходного кода таблиц Berkeley DB с патчами. Кроме того, прежде чем предпринимать какие-либо действия, ознакомьтесь, пожалуйста, с разделом, посвященным таблицам Berkeley DB (see Раздел 7.6, «Таблицы BDB или BerkeleyDB»). Дистрибутивы исходного кода MySQL поставляются в виде сжатых архивов tar с именами наподобие mysql-VERSION.tar.gz, где VERSION представляет собой число.

  3. Добавьте пользователя и группу для запуска mysqld следующим образом:

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    

    Эти команды добавляют группу mysql и пользователя mysql. Данный синтаксис для useradd и groupadd в различных версиях Unix может иметь некоторые отличия. Приведенные выше команды могут также иметь другие названия - adduser и addgroup соответственно. Пользователю и группе можно назначить какие-нибудь иные, отличные от mysql имена.

  4. Распакуйте дистрибутив в текущем каталоге:

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    

    Эта команда создает каталог с именем mysql-VERSION.

  5. Перейдите из каталога распакованного дистрибутива в каталог высшего уровня:

    shell> cd mysql-VERSION
    

    Учтите, что теперь необходимо конфигурировать и компоновать MySQL из этого каталога высшего уровня. Построить MySQL в другом каталоге нельзя.

  6. Сформируйте релиз и скомпилируйте весь код:

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    

    При запуске configure вам, возможно, понадобится указать некоторые опции. Чтобы получить список опций, запустите ./configure --help. Некоторые наиболее полезные опции рассмотрены в разделе See Раздел 2.3.3, «Типичные опции configure ». Если configure не работает и вы собираетесь посылать письмо с просьбой о помощи на , то просьба включить в него те строки из config.log, которые, по вашему мнению, могут помочь решить данную проблему. Кроме того, если выполнение configure преждевременно прекращается, в письмо следует включить несколько последних строк вывода из configure. Для отсылки отчета об ошибке используйте скрипт mysqlbug (see Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах»). Если компиляция не выполняется, то обращайтесь к разделу See Раздел 2.3.5, «Проблемы с компиляцией?», в котором содержатся рекомендации по решению ряда часто встречающихся проблем.

  7. Установите весь код:

    shell> make install
    

    Возможно, необходимо запустить эту команду как root.

  8. Создайте таблицы привилегий MySQL (это необходимо только в случае, если нет ранее установленной версии MySQL ):

    shell> scripts/mysql_install_db
    

    Учтите, что в версиях MySQL до 3.22.10 работа сервера MySQL начиналась при запуске mysql_install_db. Сейчас это не так!

  9. Измените принадлежность бинарного кода 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.

  10. Если вы хотите установить поддержку интерфейса Perl DBI/DBD, обращайтесь к разделу See Раздел 2.7, «Замечания по установке Perl».

  11. Если вы хотели бы, чтобы работа 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, «Послеустановочные настройка и тестирование».

2.3.2. Применение патчей

Патчи иногда присутствуют в списке рассылки или помещаются в папке патчей на веб-сайте MySQL (http://www.mysql.com/downloads/patches.html).

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

shell> patch -p1 < patch-file-name
shell> rm config.cache
shell> make clean

Патчи с FTP-сайта распространяются как файлы с простым текстом или как файлы, сжатые с помощью gzip. Патч в виде простого текста следует применять, как показано выше для патчей из списка рассылки. Чтобы применить сжатый патч, поместите его в каталог высшего уровня, в котором находится дерево исходных кодов MySQL, и запустите следующие команды:

shell> gunzip < patch-file-name.gz | patch -p1
shell> rm config.cache
shell> make clean

После применения патча следуйте инструкциям для обычной установки исходного кода, начиная с этапа ./configure. После запуска этапа make install перезапустите свой сервер MySQL.

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

2.3.3. Типичные опции configure

Скрипт configure обеспечивает широкие возможности управления конфигурацией дистрибутива MySQL. Обычно такое управление осуществляется путем использования опций в командной строке configure. На работу configure можно также воздействовать при помощи соответствующих переменных окружения (see Приложение F, Переменные окружения). Чтобы получить список поддерживаемых configure опций, запустите следующую команду:

shell> ./configure --help

Ниже описаны некоторые из наиболее часто используемых опций configure:

  • Для компиляции только клиентских библиотек MySQL и клиентских программ (без серверной части) используйте опцию --without-server:

    shell> ./configure --without-server
    

    При отсутствии компилятора C++ не будет компилироваться mysql (именно для данной клиентской программы требуется C++). В этом случае можно удалить из configure код, который проверяет наличие компилятора C++, а затем запустить ./configure с опцией --without-server. На этапе компиляции и после этого будет предпринята попытка скомпилировать mysql, но любые предупреждения насчет mysql.cc можно игнорировать (если make остановится, попробуйте запустить make -k - чтобы компиляция остального кода продолжалась д