Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


8  Отладка сервера MySQL
8  Отладка клиента MySQL
8  Пакет DBUG
8  Методы блокировки
8  Замечания по потокам RTS
8  Различия между разными потоковыми пакетами
Перенос на другие системы - Программирование от RIN.RU
Перенос на другие системы

Цель данного раздела - обеспечить помощь в переносе MySQL на другие операционные системы. Но сначала необходимо ознакомиться со списком поддерживаемых в настоящее время операционных систем (см. раздел Операционные системы, поддерживаемые 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', - тогда у вас появится хотя бы призрачный шанс получить рабочие потоки.






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


  • В этом разделе :

    8  Отладка сервера MySQL
    Если вы используете в MySQL совершенно новую функциональную возможность, то можно попробовать запустить mysqld с параметром --skip-new (при этом все новые, потенциально ненадежные функции будут заблокированы) или с параметром --safe-mode - он отключает ряд оптимизаций, которые могут вызвать проблемы.

    8  Отладка клиента MySQL
    Чтобы иметь возможность отладки клиента MySQL с помощью встроенного отладчика, необходимо сконфигурировать сборку MySQL с --with-debug или --with-debug=full.

    8  Пакет DBUG
    Сервер MySQL и большинство клиентов MySQL компилируются с пакетом DBUG, автором первой версии которого является Фред Фиш (Fred Fish).

    8  Методы блокировки
    В настоящее время MySQL поддерживает только табличную блокировку для таблиц типов ISAM/MyISAM и HEAP, страничную блокировку для таблиц BDB и строковую блокировку для таблиц InnoDB.

    8  Замечания по потокам RTS
    При попытке применить пакеты потоков RTS с MySQL автору пришлось столкнуться со следующими проблемами...

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

    8  Отладка сервера MySQL
    8  Отладка клиента MySQL
    8  Пакет DBUG
    8  Методы блокировки
    8  Замечания по потокам RTS
    8  Различия между разными потоковыми пакетами

     
      
      
        Copyright ©  RIN 2003 - 2004      * Обратная связь