Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Установка 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  Гостевая книга
Новости о мире


Примечания к BSD - Программирование от RIN.RU
Примечания к BSD




В этом разделе находится информация относительно различных BSD-систем, а также конкретных версий этих систем.


Примечания к FreeBSD


Для работы Mysql рекомендуется FreeBSD версий 3.x, поскольку версия с потоками является намного более интегрированной.


Простейшим, а поэтому и более предпочтительным способом установки является использование портов mysql-server и mysql-client из коллекции портов FreeBSD, которая доступна по адресу http://www.freebsd.org/.


Использование этих портов обеспечивает:


  • работоспособный MySQL со всеми возможностями оптимизации, доступными на данной версии FreeBSD;

  • автоматическую конфигурацию и сборку;

  • установку скриптов, запускающих MySQL, в `/usr/local/etc/rc.d";

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


Рекомендуется использовать MIT-pthreads на FreeBSD версий 2.x и собственные потоки для 3.x и более поздних версий FreeBSD. На некоторых последних версиях 2.2.x возможно применение собственных потоков, но при этом не исключены проблемы с остановкой mysqld.
Для сборки MySQL в соответствии с Makefile"ом необходима программа GNU make (gmake). Прежде чем выполнять сборку MySQL, следует установить GNU make.


Удостоверьтесь, что используемый вами сервер имен работает корректно. В противном случае возможны задержки или ошибки при соединении с mysqld.


Убедитесь в корректности записи localhost в файле "/etc/hosts" (при отсутствии или ошибочности этой записи возникнут проблемы соединения с базой). Файл `/etc/hosts" должен начинаться с записи:


127.0.0.1 localhost localhost.your.domain


Предлагаемый способ сборки и установки MySQL на FreeBSD с использованием gcc (версии 2.95.2 или более поздней):


CC=gcc CFLAGS="-O2 -fno-strength-reduce" \
CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions -felide-constructors \
-fno-strength-reduce" \
./configure --prefix=/usr/local/mysql --enable-assembler
gmake
gmake install
./scripts/mysql_install_db
cd /usr/local/mysql
./bin/mysqld_safe &


Если программа configure решила использовать MIT-pthreads, необходимо ознакомится с примечаниями по MIT-pthreads (см. раздел Замечания по потокам MIT-pthreads).


Если при выполнении make install возникла ошибка, сообщающая о невозможности нахождения "/usr/include/pthreads" (can"t find "/usr/include/pthreads"), это значит, что configure не определил необходимость использования MIT-pthreads. Для исправления данной ошибки необходимо выполнить следующие команды:


shell> rm config.cache
shell> ./configure --with-mit-threads


Как известно, в FreeBSD по умолчанию установлено очень небольшое значение для количества одновременно открытых файлов (see section A.2.16 Не найден файл (File not found)). Чтобы исправить положение, следует раскомментировать секцию ulimit -n в скрипте safe_mysqld или повысить ограничение для пользователя mysqld в "/etc/login.conf" (не забудьте перестроить его командой cap_mkdb "/etc/login.conf"). Помимо этого, имеет смысл проверить установку подходящего класса для этого пользователя в файле паролей, если не используется значение по умолчанию (при помощи chpass mysqld-user-name). See section 4.7.2 safe_mysqld, оболочка mysqld.


При наличии значительного объема оперативной памяти можно рассмотреть вариант перестройки ядра, чтобы разрешить MySQL использовать более чем 512Mб оперативной памяти. Чтобы получить больше информации, обратитесь к option MAXDSIZ в конфигурационном файле LINT.


В случае возникновения проблем с текущей датой в MySQL ситуацию может исправить правильная установка переменной TZ. See section F Переменные окружения.


Для получения безопасной и устойчивой системы следует использовать только те ядра системы FreeBSD, которые обозначены как -RELEASE.


Примечания к NetBSD


Для компиляции на NetBSD необходимо, чтобы была установлена программа GNU make. В противном случае компиляция завершится аварийно при попытке make запустить lint на файлах C++.


Примечания к OpenBSD 2.5


На OpenBSD версии 2.5 можно компилировать MySQL с использованием собственных потоков. Необходимо указать следующие опции:


CFLAGS=-pthread CXXFLAGS=-pthread ./configure -with-mit-threads=no




Примечания к OpenBSD 2.8


По сообщениям наших пользователей, OpenBSD 2.8 содержит ошибку в реализации потоков, которая вызывает проблемы с MySQL. Разработчики OpenBSD устранили эту ошибку, но к 25 января 2001 года исправленная версия доступна только в ветви "-current". Симптомы этой ошибки реализации потоков следующие: медленный ответ, высокая загрузка, большая загрузка процессора и аварийная остановка программы.


Получение сообщения об ошибке вроде Error in accept:: Bad file descriptor или ошибки 9 при попытке открыть таблицу либо каталог означает, что вы не заказали достаточно дескрипторов файлов для MySQL.


В этом случае попробуйте запустить safe_mysqld от имени пользователя rootс опциями:


--user=mysql --open-files-limit=2048




Примечания к BSD/OS версий 2.x


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


item_func.h: In method `Item_func_ge::Item_func_ge(const Item_func_ge &)":
item_func.h:28: virtual memory exhausted
make[2]: *** [item_func.o] Error 1




Попробуйте выполнить ulimit -v 80000 и запустить make еще раз. Если это не поможет, а в качестве оболочки используется bash, попробуйте перейти на csh или sh: некоторые пользователи BSDI сообщали нам о проблемах с bash и ulimit.


Если вы используете gcc, то, возможно, необходимо добавить флаг --with-low-memory при запуске configure, чтобы обеспечить возможность компиляции "sql_yacc.cc".


При возникновении проблем с текущей датой в MySQL может помочь установка переменной TZ (see section F Переменные окружения).


Примечания к BSD/OS версий 3.x


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


shell> env CXX=shlicc++ CC=shlicc2 \
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/var/mysql \
--without-perl \
--with-unix-socket-path=/var/mysql/mysql.sock


Сработает и следующая командная строка:


shell> env CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure \
--prefix=/usr/local/mysql \
--with-unix-socket-path=/var/mysql/mysql.sock


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


Если возникнут проблемы с производительностью при большой нагрузке, попробуйте при запуске mysqld использовать опцию --skip-thread-priority! Применение данной опции приведет к тому, что все потоки будут работать с одинаковым приоритетом; на BSDI версии 3.1 это обеспечивало повышение производительности (по крайней мере, пока не был исправлен планировщик потоков).


В случае получения сообщения об ошибке virtual memory exhausted во время компиляции попробуйте выполнить ulimit -v 80000 и запустить make повторно. Если это не поможет, а в качестве оболочки у вас используется bash, попробуйте перейти на csh или sh: некоторые пользователи BSDI сообщали о проблемах с bash и ulimit.


Примечания к BSD/OS версий 4.x


BSDI версий 4.x содержит ошибку, имеющую отношение к потокам. Если вы планируете использовать MySQL на этой системе, необходимо предварительно установить все патчи, относящиеся к реализации потоков. По крайней мере, должен быть установлен M400-023.


На некоторых системах BSDI версий 4.x вы можете столкнуться с проблемами при использовании динамических библиотек. Проявляется это как невозможность выполнить какую-либо клиентскую программу, например mysqladmin. В данном случае необходимо переконфигурировать MySQL с запретом использовать динамические библиотеки, указав для скрипта configure опцию --disable-shared.


Некоторые пользователи сообщали нам о проблемах на BSDI 4.0.1, которые проявляются в том, что через некоторое время после начала работы mysqld не может открыть таблицы. Это происходит потому, что из-за какой-то системной или библиотечной ошибки mysqld изменяет текущий каталог без какого-либо запроса!


Для решения проблемы необходимо либо обновить MySQL до версии 3.23.34, либо после запуска configure удалить строку #define HAVE_REALPATH из файла "config.h" перед запуском make.


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



 8  Комментарии к статье  8 8  Обсудить в чате

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