поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    Приложение D. Перенос на другие системы

    Цель данного раздела - обеспечить помощь в переносе MySQL на другие операционные системы. Но сначала необходимо ознакомиться со списком поддерживаемых в настоящее время операционных систем (see Раздел 2.2.3, «Операционные системы, поддерживаемые MySQL»). Если вы создали новую версию переноса MySQL, пожалуйста, сообщите нам - тогда мы включим ее в настоящий список и в список на нашем веб-сайте (https://www.mysql.com/) и сможем рекомендовать ее другим пользователям.

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

    Для сервера необходима рабочая библиотека Posix-потоков. Под операционной системой Solaris 2.5 мы используем потоки Sun PThreads ("родная" поддержка потоков в версии 2.4 и более ранних не является достаточно хорошей), а под Linux мы используем LinuxThreads, разработку Ксавье Лероя (Xavier Leroy, ).

    При переносе на новый вариант Unix без хорошей поддержки собственных потоков наиболее трудной частью является перенос потоков MIT-pthreads. См. mit-pthreads/README и Programming POSIX Threads (Программирование POSIX-потоков) (https://www.humanfactor.com/pthreads/).

    В состав поставки MySQL входит исправленная версия Pthreads Провензано (Provenzano) от MIT (см. веб-страницу MIT Pthreads на https://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 Раздел D.1, «Отладка сервера MySQL».

    Примечание: прежде чем запускать отладку mysqld, нужно добиться, чтобы заработала тестовая программа mysys/thr_alarm and mysys/thr_lock, - тогда у вас появится хотя бы призрачный шанс получить рабочие потоки.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100