E Перенос на другие системы
Цель данного раздела - обеспечить помощь в переносе MySQL на другие
операционные системы. Но сначала необходимо ознакомиться со списком
поддерживаемых в настоящее время операционных систем (see section 2.2.5 Операционные системы, поддерживаемые MySQL). Если вы создали новую версию переноса
MySQL, пожалуйста, сообщите нам - тогда мы включим ее в настоящий список и
в список на нашем веб-сайте (http://www.mysql.com/) и сможем рекомендовать
ее другим пользователям.
Примечание: те, кто создаст новую версию переноса MySQL, имеют право
размножать и распространять на условиях лицензии GPL, но это не делает их
обладателями авторского права на MySQL.
Для сервера необходима рабочая библиотека Posix-потоков. Под операционной
системой Solaris 2.5 мы используем потоки Sun PThreads ("родная"
поддержка потоков в версии 2.4 и более ранних не является достаточно
хорошей), а под Linux мы используем LinuxThreads, разработку Ксавье Лероя
(Xavier Leroy, Xavier.Leroy@inria.fr).
При переносе на новый вариант Unix без хорошей поддержки собственных
потоков наиболее трудной частью является перенос потоков MIT-pthreads. См.
`mit-pthreads/README' и Programming POSIX Threads (Программирование
POSIX-потоков) (http://www.humanfactor.com/pthreads/).
В состав поставки MySQL входит исправленная версия Pthreads Провензано
(Provenzano) от MIT (см. веб-страницу MIT Pthreads на
http://www.mit.edu:8001/people/proven/pthreads.html). Эту версию можно
применять для операционных систем, не имеющих POSIX-потоков.
Можно использовать и другой пакет потоков пользовательского уровня - FSU
Pthreads (
страница FSU Pthreads). Эта реализация применяется для переноса SCO.
Для ознакомления этими проблемами и анализа их следует изучить программы
`thr_lock.c' и `thr_alarm.c' в каталоге `mysys'.
И сервер, и клиент нуждаются в работающем компиляторе C++ (мы используем
gcc
, испытывали также SPARCworks). Еще одним работающим компилятором
является Irix cc
.
Для компиляции только клиентской части используйте
./configure --without-server
.
Компиляция отдельно серверной части в настоящее время не поддерживается, и
добавлять такую возможность не планируется до тех пор, пока для этого не
будет веских оснований.
Если необходимо изменить любой `Makefile' или скрипт конфигурации, следует
использовать Automake
и Autoconf
. Мы применяли версии automake-1.2
и
autoconf-2.12
.
Ниже перечислены действия, необходимые для того, чтобы собрать все заново
из базовых файлов:
/bin/rm */.deps/*.P
/bin/rm -f config.cache
aclocal
autoheader
aclocal
automake
autoconf
./configure --with-debug=full --prefix='your installation directory'
# makefiles были сгенерированы для GNU make 3.75 или более новой,
# обозначенной как gmake строчкой ниже
gmake clean all install init-db
Если вы столкнетесь с проблемами новой версии переноса, то, возможно,
потребуется произвести некоторую отладку MySQL! See section E.1 Отладка сервера MySQL.
Примечание: прежде чем запускать отладку mysqld
, нужно добиться, чтобы
заработала тестовая программа `mysys/thr_alarm' and `mysys/thr_lock', -
тогда у вас появится хотя бы призрачный шанс получить рабочие потоки.
Главы